启动kubelet失败failed to run Kubelet: running with swap on is not supported
启动kubelet失败failed to run Kubelet: running with swap on is not supported
·
目录
背景
启动kubelet失败failed to run Kubelet: running with swap on is not supported
I0123 10:28:12.948539 2988 server.go:484] "Kubelet version" kubeletVersion="v0.0.0-master+22140b6a070e09589b5b2bcdf5c396114f25274f"
I0123 10:28:12.948878 2988 server.go:486] "Golang settings" GOGC="" GOMAXPROCS="" GOTRACEBACK=""
I0123 10:28:12.949457 2988 server.go:647] "Standalone mode, no API client"
I0123 10:28:12.990328 2988 server.go:535] "No api server defined - no events will be sent to API server"
I0123 10:28:12.990442 2988 server.go:742] "--cgroups-per-qos enabled, but --cgroup-root was not specified. defaulting to /"
E0123 10:28:12.990880 2988 run.go:74] "command failed" 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默认不允许在启用swap的节点上运行kubelet。原因是Kubernetes期望节点上的容器能获得稳定的资源分配,而启用swap可能导致内存压力较大时,容器数据被换出到磁盘,影响性能和稳定性。
解决
方法1
禁用swap。
方式1:临时禁用,重启时默认继续开启
sudo swapoff -a
方式2:永久禁用
编辑 /etc/fstab 文件,注释掉或删除涉及交换分区的行。一般这些行以swapon或swap开头,如:
/dev/dm-2 none swap defaults 0 0
给对应的行前加#注释,保存,重启。
方法2
添加启动参数忽略:
--fail-swap-on=false
如果你的启动使用的是配置文件,则也可在文件中增加:
failSwapOn: false
更多推荐




所有评论(0)