gpt4 book ai didi

kubernetes - Kubernetes ConfigMaps 的一致性保证?

转载 作者:行者123 更新时间:2023-12-02 11:56:00 25 4
gpt4 key购买 nike

试图决定在何处存储一些关键的分片配置,但我还没有找到足够的关于 Kube ConfigMaps 可靠性的文档来缓解我的思绪。

假设我有一个单集群 kube pod 规范,它在 pod 启动时注入(inject)一个带有 configmap 条目值的环境变量(使用 configMapKeyRef )。我有很多基于此规范运行的 pod。

  1. kubectl 编辑 configmap 条目并等待操作成功。
  2. 我重新启动 pod。

是否保证这些 pod 会看到新的 configmap 值? (或者,如果失败了,在重新启动 pod 以确保它们获得新值之前我是否需要等待一段时间?)

同样,假设在所有 pod 都重新启动期间没有配置映射编辑,是否保证所有 pod 看到一致的值?

最佳答案

Kubernetes 是一个最终一致性系统。是recommended当您想要更改值时创建一个新的 ConfigMap

Changing the data held by a live configMap in a cluster is considered bad practice. Deployments have no means to know that the configMaps they refer to have changed, so such updates have no effect.

使用 Declarative config management with Kustomize , 使用 configMapGenerator 更容易做到这一点

The recommended way to change a deployment's configuration is to

  1. create a new configMap with a new name,
  2. patch the deployment, modifying the name value of the appropriate configMapKeyRef field.

部署

当使用 configMapGenerator 将 Kustomize 用于 DeploymentConfigMap 时,将生成 ConfigMap 的名称Deployment 中的内容和对 ConfigMap 的引用将使用生成的名称进行更新,以便触发新的滚动部署

关于kubernetes - Kubernetes ConfigMaps 的一致性保证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59954146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com