问题描述
Kubernetes 集群某个节点无法正常启动 Pod,一直呈 ContainerCreating
状态
查看 Pod 状态,报类似如下错误:
Warning FailedMount 39m kubelet, node1.example.com MountVolume.SetUp failed for volume "default-token-f622k" : couldn't propagate object cache: timed out waiting for the condition
问题分析
登录故障节点,执行 journalctl -xeu kubelet
查看 kubelet 运行日志:
发现一个典型错误:
[cpumanager] static policy invalid state: current set of available CPUs "0-7" doesn't match with CPUs in state "0-3"
而恰好该节点修改过配置,增加了 CPU 数量,就是这个问题导致的!
解决方法
删除该节点上关于 CPU 的 CheckPoint 记录:
# rm /var/lib/kubelet/cpu_manager_state
然后,重启 kubelet 服务,kubelet 会重新检查 CPU 数量,自动生成该文件