日志如下:
"Kubelet version" kubeletVersion="v1.23.17"
7月 17 09:07:39 master kubelet[2788]: I0717 09:07:39.620749 2788 server.go:874] "Client rotation is on, will bootstrap in background"
7月 17 09:07:39 master kubelet[2788]: I0717 09:07:39.621910 2788 certificate_store.go:130] Loading cert/key pair from "/var/lib/kubelet/pki/kubelet-client-current.pem".
7月 17 09:07:39 master kubelet[2788]: I0717 09:07:39.622737 2788 dynamic_cafile_content.go:156] "Starting controller" name="client-ca-bundle::/etc/kubernetes/pki/ca.crt"
7月 17 09:07:39 master kubelet[2788]: I0717 09:07:39.658386 2788 server.go:693] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /"
7月 17 09:07:39 master kubelet[2788]: E0717 09:07:39.658658 2788 server.go:302] "Failed to run kubelet" err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swap-on flag >
7月 17 09:07:39 master systemd[1]: kubelet.service: Main process exited, code=exited, status=1/FAILURE
7月 17 09:07:39 master systemd[1]: kubelet.service: Failed with result 'exit-code'.
7月 17 09:07:49 master systemd[1]: kubelet.service: Service RestartSec=10s expired, scheduling restart.
7月 17 09:07:49 master systemd[1]: kubelet.service: Scheduled restart job, restart counter is at 4.
7月 17 09:07:49 master systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
7月 17 09:07:49 master systemd[1]: Started kubelet: The Kubernetes Node Agent.
从提供的日志中可以看出,kubelet
服务在启动时遇到了一个问题,导致服务无法正常运行。具体错误信息和相关细节如下:
-
错误信息:
Failed to run kubelet
err="failed to run Kubelet: running with swap on is not supported, please disable swap! or set --fail-swap-on flag to false"
这表明
kubelet
无法在启用了交换空间(swap)的系统上运行。Kubernetes 不支持在启用了交换空间的节点上运行,因为这可能会导致性能问题。 -
解决建议:
- 禁用系统的交换空间。这通常可以通过运行
sudo swapoff -a
命令来完成,该命令会立即禁用所有交换空间。为了确保在系统重启后交换空间仍然被禁用,可能还需要编辑/etc/fstab
文件,注释掉或删除与交换空间相关的行。- 1注释最底下一行(#/dev/mapper/cs-swap none swap defaults 0 0)
标题 - 如果你确实需要在启用交换空间的环境中运行
kubelet
,可以尝试设置--fail-swap-on=false
启动参数。但请注意,这通常不是推荐的做法,因为它可能会影响 Kubernetes 集群的稳定性和性能。
- 禁用系统的交换空间。这通常可以通过运行