如何在没有死锁的情况下部署Pod初始化程序?

时间:2018-06-13 00:39:18

标签: kubernetes

我创建了一个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,但这也没有帮助)

1 个答案:

答案 0 :(得分:1)

  

但是,这样做会导致我的初始化程序Pod陷入"待定"因为它正在等待自己初始化它

但是文档说:

  

首先应该部署初始化程序控制器并确保它在创建initializerConfiguration之前正常工作。否则,任何新创建的资源都将处于未初始化状态。

所以我觉得你想要kubectl delete initializerConfiguration --all(当然还有initializerConfiguration的具体名称),让初始化程序Pod成功启动,然后 kubectl create -f my-initializer-config.yaml或其他什么。