【问题标题】:kubernetes batch restart all namespace pod to make new config map config workskubernetes 批量重启所有命名空间 pod 以使新的配置映射配置工作
【发布时间】:2020-05-26 23:39:15
【问题描述】:

我正在将配置映射环境从 DEV 修改为 FAT,现在我想让它在 dabai-fat 命名空间中的所有 Pod 中工作。如何重新启动命名空间中的所有 Pod?如果我一个一个修改太慢了,我的部署服务现在有20多个。如何轻松启用配置?

【问题讨论】:

  • 如果您使用部署创建 pod,那么简单的技巧就是将您的部署扩展到零副本,然后将其缩减 .. 它会毫不费力地刷新您的 pod .. 示例:kubectl scale deployment nginx --replicas=0 然后缩减kubectl scale deployment chat --replicas=20

标签: kubernetes


【解决方案1】:

您不应该编辑已经存在的ConfigMap

这个问题Restart pods when configmap updates in Kubernetes? 是您问题的最佳答案。

首先,使用Deployments,以便轻松扩展所有内容。

其次,创建新的ConfigMap 并将Deployment 指向它。如果新的ConfigMap 损坏,Deployment 将无法扩展,如果正确,则 Deployment 将扩展为 0 并重新安排将使用新 ConfigMap 的新 pods

【讨论】:

    【解决方案2】:

    您应该更喜欢在不需要重启 POD 的解决方案中安装配置映射

    Kubelet 会在每次定期同步时检查挂载的 ConfigMap 是否新鲜。

    从 ConfigMap 更新到新的 key 投射到 Pod 的总延迟可以长达 kubelet 同步周期(默认为 1 分钟)+ ConfigMaps 缓存的 ttl(默认为 1 分钟)库贝莱特。您可以通过更新 pod 的注释来触发立即刷新。请务必记住,使用 ConfigMap 作为 subPath 卷的容器将不会收到 ConfigMap 更新。

    How to Add ConfigMap data to a Volume

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 2020-05-28
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      • 2017-03-05
      • 1970-01-01
      相关资源
      最近更新 更多