我要将图像修补到初始化容器上
我的图像存储在名为$ IMAGE_NAME的变量中
我跑步时
kubectl修补程序部署production-art-backend -p {“ spec”:{“ template”:{“ spec”:{“ initContainers”:[{“ name”:“ run-migrations”,“ image”:“ $ IMAGE_NAME“}]}}}}
它将映像修补为“ IMAGE_NAME”,而不是变量IMAGE_NAME中的值,如何动态修补映像?
答案 0 :(得分:3)
这是一个bash问题,不一定是kubectl
问题!
由于JSON字符串需要双引号,因此您需要将变量包装在单引号内。试试这个:
kubectl patch deployment production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"'${IMAGE_NAME}'"}]}}}}
答案 1 :(得分:0)
请尝试以下命令:
kubectl patch deployment production-art-backend --patch="{\"spec\":{\"template\":{\"spec\":{\"initContainers\":[{\"name\":\"run-migrations\",\"image\":\"$IMAGE_NAME\"}]}}}}"
对我有用。