Kubernetes 如何在没有死锁的情况下部署Pod初始值设定项?

Kubernetes 如何在没有死锁的情况下部署Pod初始值设定项?,kubernetes,Kubernetes,我创建了一个InitializerConfiguration,它为POD添加了我的初始值设定项 文档中说要使用部署()。然而,这样做会导致我的初始化器Pod被困在“挂起”状态,因为它正在等待自己初始化它。我试图在部署的pod规范中将挂起的初始值设定项覆盖为空列表,但这似乎被忽略了 在没有死锁的情况下部署Pod初始值设定项的正确方法是什么 我发现了一些似乎相关的bug报告,但没有适合我的解决方案: *(在此基础上,我将pod的“initialize”动词添加到ClusterRole系统:contr

我创建了一个InitializerConfiguration,它为POD添加了我的初始值设定项

文档中说要使用部署()。然而,这样做会导致我的初始化器Pod被困在“挂起”状态,因为它正在等待自己初始化它。我试图在部署的pod规范中将挂起的初始值设定项覆盖为空列表,但这似乎被忽略了

在没有死锁的情况下部署Pod初始值设定项的正确方法是什么

我发现了一些似乎相关的bug报告,但没有适合我的解决方案: *(在此基础上,我将pod的“initialize”动词添加到ClusterRole系统:controller:replicaset controller,但这也没有帮助)

然而,这样做会导致我的初始化器Pod被困在“挂起”状态,因为它正在等待自己初始化它

但文件说:

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


因此,在我看来,您可能希望
kubectl删除initializerConfiguration--all
(当然,也可以是
initializerConfiguration
)的具体名称),允许您的初始化器Pod成功启动,然后
kubectl创建-f my initializer config.yaml
或其他任何东西。

这确实有效。但是,如果我的初始化器pod被杀死并重新创建,那么它将死锁,我怀疑这就是为什么他们建议部署
,这样您就可以很容易地运行多个。我必须测试它才能确定,但您也可以尝试使用一个“静态”的
Pod
,将YAML放在
/etc/kubernetes/manifests
节点上,看看这些是否可以从
iC
中豁免,但我担心的是,集群会崩溃,然后无法恢复,因为部署吊舱都无法启动。啊,是的,我没有想到静态吊舱,我可以试试,虽然它不适合我们的集群,因为我们现在根本不需要它们,因为我们现在根本不需要它们,那么你如何运行apiserver,controller manager,任何CNI服务器,等等?是吗?好吧,我想好消息是,无论配置管理系统拥有控制飞机的
systemd
描述符,都可以拥有
iC
的静态吊舱描述符(假设这个技巧有效)