使用kubectl set image更新initContainer的图像

Max*_*olf 4 kubernetes

目前,要更新k8s部署映像,我们使用如下kubectl set image命令:

kubectl set image deployment/deployment_name container=url_to_container
Run Code Online (Sandbox Code Playgroud)

虽然此命令更新了部署中主容器使用的URL,但它不会更新initContainer部署中也设置的URL .

是否有类似的kubectl命令可用于更新initContainer到同一个URL?

Yon*_*kof 10

自接受答案以来,该团队开发了为 Kubernetes init 容器设置映像的能力。使用相同的命令,只需将 init 容器名称用于您提供的命令的容器部分。

kubectl set image deployment/deployment_name myInitContainer=url_to_container
Run Code Online (Sandbox Code Playgroud)

如果要在单个命令中更新两个容器映像,请使用:

kubectl set image deployment/deployment_name myInitContainer=url_to_container container=url_to_container
Run Code Online (Sandbox Code Playgroud)


小智 7

文档似乎表明只涉及容器.

也许你可以切换到kubectl patch

(我知道这更乏味......)

kubectl patch deployment/deployment_name --patch "{\"spec\": {\"template\": {\"spec\": {\"initContainers\": [{\"name\": \"container_name\",\"image\": \"url_to_container\"}]}}}}"
Run Code Online (Sandbox Code Playgroud)