更新k8s ConfigMap或Secret而不删除现有的一个

发布于 2021-02-01 13:05:36

我一直在使用K8S ConfigMap和Secret管理我们的属性。我的设计非常简单,可以将属性文件保存在git
repo中,并使用诸如Thoughtworks GO之类的构建服务器将它们自动配置为ConfigMaps或Secrets(在选择条件下)到我的k8s集群中。

当前,我发现必须总是删除现有的ConfigMap和Secret并创建一个新的要进行更新的效率不是很高:

  1. kubectl delete configmap foo

  2. kubectl create configmap foo --from-file foo.properties

有没有一种简单而又好用的方法可以比删除当前文件更有效地完成上述步骤?如果现在尝试删除旧的configmap且未创建新的configmap时尝试装载,则我现在正在做的事情可能会损害使用这些configmap的容器。

提前致谢。

关注者
0
被浏览
98
1 个回答
  • 面试哥
    面试哥 2021-02-01
    为面试而生,有面试问题,就找面试哥。

    您可以从kubectl create configmap命令获取yaml 并将其通过管道传输到kubectl replace,如下所示:

    kubectl create configmap foo --from-file foo.properties -o yaml --dry-run | kubectl replace -f -
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看