设计K8吊舱和程序进行初始化

时间:2020-07-17 06:33:28

标签: kubernetes

我有一个问题说明,其中有一个Kubernetes集群,并且有一些Pod正在运行。 现在,我希望某些功能/过程在每个部署中运行一次,而与副本数无关。

  1. 这些进程使用与部署yaml中的映像相同的映像。
  2. 我不能使用initcontainer和sidecar,因为它们会与每个副本的pod上的主容器一起运行。

我试图创建一个新图像,然后创建一个豆荚。但是此pod可以继续运行,这对群集资源不利,因为完成工作后应将其删除。另外,主容器取决于此过程的完成,以便运行K8规范的“命令”部分。

正在寻找有关如何解决此问题的建议?

1 个答案:

答案 0 :(得分:0)

理论上,您可以编写admission controller webhook来拦截创建/更新部署并根据需要触发功能。如果需要检查功能,请使用ValidatingWebhookConfiguration来验证该过程,然后拒绝或接受命令。