Kubelet 启动失败尝试污染日志
Kubelet failing start attempts pollutes logs
我在 AWS 上安装了一堆新的 CentOS 服务器。服务 kubelet 污染了日志文件 (var/log/messages) 并尝试启动,但由于我不需要它,所以我想将其删除。这是 CentOS 的一个可选组件,我可以安全地删除它(或禁用 [=17=])?我相信是这样,但没想到一个全新的服务器会出现这么多错误。
目前,我 97% 的 /var/log/messages 日志包含如下行:
Jan 17 03:21:03 systemd: Started kubelet: The Kubernetes Node Agent.
Jan 17 03:21:03 kubelet: F0117 03:21:03.101812 29626 server.go:198] failed to load Kubelet
config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file
"/var/lib/kubelet/config.yaml", error: open /var/lib/kubelet/config.yaml: no such file or
directory
***da da da, 40 more rows***
Jan 17 03:21:03 systemd: Unit kubelet.service entered failed state.
Jan 17 03:21:03 systemd: kubelet.service failed.
Jan 17 03:21:13 systemd: kubelet.service holdoff time over, scheduling restart.
Jan 17 03:21:13 systemd: Stopped kubelet: The Kubernetes Node Agent.
Jan 17 03:21:13 systemd: Started kubelet: The Kubernetes Node Agent.
***sleep for 10s and start all over*
正如我在评论中已经提到的,kubelet 是 kubernetes 集群 的一部分,它是 运行 在每个集群上的主节点代理节点。我真诚地怀疑这个 CentOS 映像是预装的。如果确实如此,并且正如您所说,它是一个“全新的 CentOS 服务器”,之前没有人对其进行过修补,如果您的服务器与 kubernetes 集群[无关],我建议您选择不同的映像=50=]。但是,如果它被用作您的生产环境和 运行 一些其他重要的东西,您应该调查它是如何安装的并简单地删除它。
I did not do the setup myself, but the template used is
258751437250/ami-centos-7-1.13.0-00-1543960911. We have not asked for
Kubernetes on it and is not using clusters
您问题的最简单答案是:
您可以安全地停止并禁用它,这样它就不会再污染您的 /var/log/messages
:
sudo systemctl stop kubelet.service && sudo systemctl disable kubelet.service
您也可以删除它。根据它的安装方式,您可能需要以特定方式进行安装。
第一次检查:
yum list installed | grep kubelet
如果有,您可以:
yum remove kubelet
如果没有return任何结果,您可以尝试:
rpm -qa | grep kubelet
如果发现任何内容,请将其删除:
rpm -e kubelet
它也可能是使用 minikube or kubeadm 之类的工具设置的旧 kubernetes 安装的残余。要检查这一点,运行:
sudo systemctl cat kubelet.service
并查看 ExecStart
部分。根据您在那里找到的内容,您很可能需要卸载一些其他不必要的组件,例如如果你发现类似 /var/lib/minikube/binaries/v1.16.0/kubelet
的东西,这意味着它是 minikube 安装的一部分。
有可能它甚至被部分卸载了,但仍有一些残留物。如您所见,连它的配置文件都找不到:
error: open /var/lib/kubelet/config.yaml: no such file or
directory
如有任何疑问或其他问题,请随时提出。
我在 AWS 上安装了一堆新的 CentOS 服务器。服务 kubelet 污染了日志文件 (var/log/messages) 并尝试启动,但由于我不需要它,所以我想将其删除。这是 CentOS 的一个可选组件,我可以安全地删除它(或禁用 [=17=])?我相信是这样,但没想到一个全新的服务器会出现这么多错误。
目前,我 97% 的 /var/log/messages 日志包含如下行:
Jan 17 03:21:03 systemd: Started kubelet: The Kubernetes Node Agent.
Jan 17 03:21:03 kubelet: F0117 03:21:03.101812 29626 server.go:198] failed to load Kubelet
config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file
"/var/lib/kubelet/config.yaml", error: open /var/lib/kubelet/config.yaml: no such file or
directory
***da da da, 40 more rows***
Jan 17 03:21:03 systemd: Unit kubelet.service entered failed state.
Jan 17 03:21:03 systemd: kubelet.service failed.
Jan 17 03:21:13 systemd: kubelet.service holdoff time over, scheduling restart.
Jan 17 03:21:13 systemd: Stopped kubelet: The Kubernetes Node Agent.
Jan 17 03:21:13 systemd: Started kubelet: The Kubernetes Node Agent.
***sleep for 10s and start all over*
正如我在评论中已经提到的,kubelet 是 kubernetes 集群 的一部分,它是 运行 在每个集群上的主节点代理节点。我真诚地怀疑这个 CentOS 映像是预装的。如果确实如此,并且正如您所说,它是一个“全新的 CentOS 服务器”,之前没有人对其进行过修补,如果您的服务器与 kubernetes 集群[无关],我建议您选择不同的映像=50=]。但是,如果它被用作您的生产环境和 运行 一些其他重要的东西,您应该调查它是如何安装的并简单地删除它。
I did not do the setup myself, but the template used is 258751437250/ami-centos-7-1.13.0-00-1543960911. We have not asked for Kubernetes on it and is not using clusters
您问题的最简单答案是:
您可以安全地停止并禁用它,这样它就不会再污染您的 /var/log/messages
:
sudo systemctl stop kubelet.service && sudo systemctl disable kubelet.service
您也可以删除它。根据它的安装方式,您可能需要以特定方式进行安装。
第一次检查:
yum list installed | grep kubelet
如果有,您可以:
yum remove kubelet
如果没有return任何结果,您可以尝试:
rpm -qa | grep kubelet
如果发现任何内容,请将其删除:
rpm -e kubelet
它也可能是使用 minikube or kubeadm 之类的工具设置的旧 kubernetes 安装的残余。要检查这一点,运行:
sudo systemctl cat kubelet.service
并查看 ExecStart
部分。根据您在那里找到的内容,您很可能需要卸载一些其他不必要的组件,例如如果你发现类似 /var/lib/minikube/binaries/v1.16.0/kubelet
的东西,这意味着它是 minikube 安装的一部分。
有可能它甚至被部分卸载了,但仍有一些残留物。如您所见,连它的配置文件都找不到:
error: open /var/lib/kubelet/config.yaml: no such file or
directory
如有任何疑问或其他问题,请随时提出。