我创建了一个InitializerConfiguration,它为pods添加了我的初始化程序。
文档说要使用部署(https://kubernetes.io/docs/reference/access-authn-authz/extensible-admission-controllers/#configure-initializers-on-the-fly)。但是,这样做会导致我的初始化程序Pod陷入"待定"因为它正在等待自己初始化它。我尝试将待处理的初始化程序覆盖到部署的pod规范中的空列表,但这似乎被忽略了。
在没有死锁的情况下部署Pod初始化程序的正确方法是什么?
我发现了一些似乎相关的错误报告,但没有适合我的解决方案: * https://github.com/kubernetes/kubernetes/issues/51485(根据这一点,我将"初始化" pod的动词添加到ClusterRole系统:controller:replicaset-controller,但这也没有帮助)
答案 0 :(得分:1)
但是,这样做会导致我的初始化程序Pod陷入"待定"因为它正在等待自己初始化它
但是文档说:
首先应该部署初始化程序控制器并确保它在创建
initializerConfiguration
之前正常工作。否则,任何新创建的资源都将处于未初始化状态。
所以我觉得你想要kubectl delete initializerConfiguration --all
(当然还有initializerConfiguration
的具体名称),让初始化程序Pod成功启动,然后强> kubectl create -f my-initializer-config.yaml
或其他什么。