我有一个openssh服务器在kubernetes中运行。在启动openssh服务器后,我立即在日志中得到以下错误信息:
Server listening on 0.0.0.0 port 2022.
Server listening on :: port 2022.
kex_exchange_identification: Connection closed by remote host
Connection closed by 10.134.250.6 port 32816
kex_exchange_identification: Connection closed by remote host
Connection closed by 10.134.250.6 port 47940
kex_exchange_identification: Connection closed by remote host
Connection closed by 10.134.250.6 port 47988
kex_exchange_identification: Connection closed by remote host
Connection closed by 10.134.250.6 port 37452
这些错误消息的原因是我的探针。我可以对此进行不同的配置或防止我的日志被打乱吗?
livenessProbe:
failureThreshold: 3
initialDelaySeconds: 1
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: ssh
timeoutSeconds: 1
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 1
periodSeconds: 10
successThreshold: 1
tcpSocket:
port: ssh
timeoutSeconds: 1
ssh服务器通过以下参数启动:
/usr/bin/sshd -D -e
您可以配置您的sshd_config file
接收更少的消息。在/etc/ssh/sshd_config中可以找到该文件请编辑它并查找值:
#LogLevel INFO
如果您想获得更少的消息,您可以将值从INFO
更改为QUIET
,如下所示:
LogLevel QUIET
但您也可以在以下值之间进行选择:
QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 and DEBUG3
您将选择的值取决于您希望拥有并保留在日志中的警报级别。在这个链接中,您可以找到有关ssh配置文件及其值的更多信息。
另外,您可以尝试通过编辑kubelet日志级别来修改冗长级别输出。这个操作可能会对您有所帮助,因为探测输出使用kubelet组件,所以如果您不想要冗长,可以将日志冗长设置为——v=1。要修改此值,需要执行以下步骤:
首先,使用以下命令检查在调试模式下连接到节点的默认日志级别:
$ oc debug node/<node>
$ chroot /host
其次,使用以下命令查找当前日志级别:
$ systemctl cat kubelet
您将得到如下输出:
# /etc/systemd/system/kubelet.service.d/20-logging.conf
[Service]
Environment="KUBELET_LOG_LEVEL=2"
第三,在新文件中定义一个新的冗长级别:
/etc/systemd/system/kubelet.service.d/30-logging.conf
替换旧的,就像在这个例子中,冗长级别从2改为1:
echo -e "[Service]nEnvironment="KUBELET_LOG_LEVEL=1"" > /etc/systemd/system/kubelet.service.d/30-logging.conf
第四,用以下命令重新加载systemd并重新启动服务:
$ systemctl daemon-reload
$ systemctl restart kubelet
您可以在本指南中找到这些步骤,以及关于日志详细程度描述的更多信息。