問題描述
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 數量,自動生成該文件