本文主要是介绍pod %v is in the cache, so can‘t be assumed,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考https://www.cnblogs.com/Serverlessops/p/12563692.html,可以知道
kube-scheduler分配 Pod 到 Node 的时候,需要对 Node 的内存做处理,将这个 Pod 分配到这个 Node 上,这个过程可以称呼为账本预占。 预占的过程会把 Pod 的状态标记为 Assumed 的状态(处于内存态),紧接着就进入 bind 阶段,调用 kube-apiserver 将 Pod 的 NodeName 持久化到 etcd,这个时候 Pod 的状态还是 Assumed。只有在通过 Informer watch 到 Pod 数据已经确定分配到这个节点的时候,才会把状态变成 Added,Pod 调度生命周期大概是这样。
这个错误说明pod调度时重复预占,通过查看日志发现多个master节点的scheduler都在同时调度,原来给kube-scheduler配--config的时候,配置文件里的leaderElect配成了false,导致没有进行选举。改为true以后能够正常调度pod了。
这篇关于pod %v is in the cache, so can‘t be assumed的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!