如何在不重新生成 configmap 的情况下将已生成的 ConfigMap 拉入新的 pod?
How to pull in an already generated ConfigMap to a new pod without regenerating the configmap?
我有一个 kustomization 文件,它正在生成 ConfigMap 并按预期运行。我需要能够创建一个新的 pod,从同一个 configMap 中提取环境变量,而无需重新生成 configMap。
换句话说,我必须这样做:
envFrom:
- configMapRef:
name: config-name-HASH
但我想这样做:
envFrom:
- configMapRef:
name: config-name
无需使用 kustomize 重新生成 ConfigMap。
我发现 PodPresets 似乎可以解决问题,但它处于 Alpha 阶段,因此对我的组织不利。
那是不可能的。虽然 ConfigMap 卷就地自动更新(因此您可以切换它并让您的应用程序在更新时重新读取文件),但仅当pod 已启动。通常的解决方法是将您的 configmap 的校验和或生成 ID 作为注释放在 pod 模板中,这将通过 Deployment、StatefulSet 或 DaemonSet 控制器自动触发滚动更新。
我有一个 kustomization 文件,它正在生成 ConfigMap 并按预期运行。我需要能够创建一个新的 pod,从同一个 configMap 中提取环境变量,而无需重新生成 configMap。 换句话说,我必须这样做:
envFrom:
- configMapRef:
name: config-name-HASH
但我想这样做:
envFrom:
- configMapRef:
name: config-name
无需使用 kustomize 重新生成 ConfigMap。 我发现 PodPresets 似乎可以解决问题,但它处于 Alpha 阶段,因此对我的组织不利。
那是不可能的。虽然 ConfigMap 卷就地自动更新(因此您可以切换它并让您的应用程序在更新时重新读取文件),但仅当pod 已启动。通常的解决方法是将您的 configmap 的校验和或生成 ID 作为注释放在 pod 模板中,这将通过 Deployment、StatefulSet 或 DaemonSet 控制器自动触发滚动更新。