嗨,我正在使用一个从目录中的文件创建的配置Map。配置Map安装到pod容器中的卷。有时我需要更新我的配置Map。有什么想法吗?目前我正在删除配置Map并重新创建它,然后重新启动pod。不确定这是否是最好的方法,因为,在这里我们删除并创建一个配置Map。
以下是shell脚本代码
kubectl create ns k6
kubectl create configmap k6-scripts-configmap -n k6 --from-file /test/scripts/k6/
kubectl apply -f /test/config/k6/k6-deployment.yaml
稍后在脚本中,我需要更新配置Map,因为目录(/test/scripts/k6/
)中的一些文件需要更改。
kubectl delete configmap k6-scripts-configmap -n k6
kubectl create configmap k6-scripts-configmap -n k6 --from-file /test/scripts/k6/
kubectl rollout restart deployment k6 -n k6
你能让我知道我是否做的正确,或者我可以更新配置Map而不删除它吗?同样,在更新后,我应该重新启动部署吗?
谢谢
2条答案
按热度按时间qv7cva1a1#
您可以将部署和ConfigMap定义拆分到2个不同的文件中。
然后,仅更新配置Map:
应用更改:
lrpiutwd2#
我们可以使用四种方法来更新配置Map。
方法:1您可以使用以下命令更新配置Map
方法:2如文档中所述,您也可以使用
Kubectl replace
。注意:如果配置Map不存在,kubectl替换将失败。
方法:3
正如Chris Gillatt建议的那样,您可以使用
kubectl edit configmap <cfg-name>
方法:4
有关在不重新启动POD的情况下自动更新配置Map的信息,请参阅Harsh Manvor的此博客。