问题描述

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 数量,自动生成该文件

Logo

开源、云原生的融合云平台

更多推荐