我一直在使用K8S ConfigMap和Secret来管理我们的属性 . 我的设计很简单,它将属性文件保存在git仓库中,并使用构建服务器(例如Thoughtworks GO)将它们自动部署为我的k8s集群的ConfigMaps或Secrets(在选择条件下) .
目前我发现我不得不总是删除现有的ConfigMap和Secret,并创建一个新的更新,如下所示
step1:kubectl删除configmap foo
step2:kubectl创建configmap foo --from-file foo.properties
有没有一种简单明了的方法来实现上一步,比删除当前更有效?我现在正在做的可能会破坏使用这些配置映射的容器,如果它在删除旧的configmap并且尚未创建新的configmap时尝试挂载 .
提前致谢
2 回答
您可以从
kubectl create configmap
命令获取yaml并将其传递给kubectl replace
,如下所示:为了将来参考,
kubectl replace
现在是实现这一目标的一种非常方便的方法kubectl replace -f some_spec.yaml
让你更新一个完整的configMap(或其他对象)直接在https://kubernetes.io/docs/user-guide/kubectl/kubectl_replace/中查看文档和示例
从帮助中复制/粘贴: