首页 > 解决方案 > 您可以使用 kubectl 补丁动态添加值吗

问题描述

我要将图像修补到初始化容器上

我的图像存储在一个名为 $IMAGE_NAME 的变量中

当我跑

kubectl 补丁部署 production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"$IMAGE_NAME" }]}}}}

它将图像修补为“IMAGE_NAME”而不是变量 IMAGE_NAME 中的值,如何动态修补图像?

标签: kubernetespatchkubectlkubernetes-helm

解决方案


这是一个 bash 问题,不一定是kubectl问题!

因为 JSON 字符串需要双引号,所以您需要将变量包含在单引号内。试试这个:

kubectl patch deployment production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"'${IMAGE_NAME}'"}]}}}}

推荐阅读