你可以使用 kubectl patch 动态添加一个值吗
can you use kubectl patch to add a value dynamically
我要将图像修补到初始化容器中
我的图像存储在一个名为 $IMAGE_NAME 的变量中
当我运行
kubectl patch deployment production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"$IMAGE_NAME"}]}}}}
它将图像修补为 'IMAGE_NAME' 而不是变量内的值 IMAGE_NAME,我如何动态修补图像?
这是一个bash问题,不一定是kubectl
问题!
因为JSON字符串需要双引号,所以需要用单引号将变量包起来。试试这个:
kubectl patch deployment production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"'${IMAGE_NAME}'"}]}}}}
请尝试以下命令:
kubectl patch deployment production-art-backend --patch="{\"spec\":{\"template\":{\"spec\":{\"initContainers\":[{\"name\":\"run-migrations\",\"image\":\"$IMAGE_NAME\"}]}}}}"
对我有用。
我要将图像修补到初始化容器中
我的图像存储在一个名为 $IMAGE_NAME 的变量中
当我运行
kubectl patch deployment production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"$IMAGE_NAME"}]}}}}
它将图像修补为 'IMAGE_NAME' 而不是变量内的值 IMAGE_NAME,我如何动态修补图像?
这是一个bash问题,不一定是kubectl
问题!
因为JSON字符串需要双引号,所以需要用单引号将变量包起来。试试这个:
kubectl patch deployment production-art-backend -p {"spec":{"template":{"spec":{"initContainers":[{"name":"run-migrations","image":"'${IMAGE_NAME}'"}]}}}}
请尝试以下命令:
kubectl patch deployment production-art-backend --patch="{\"spec\":{\"template\":{\"spec\":{\"initContainers\":[{\"name\":\"run-migrations\",\"image\":\"$IMAGE_NAME\"}]}}}}"
对我有用。