gpt4 book ai didi

deployment - 重新加载 Kubernetes 部署以在不停机的情况下获取新 key

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

在 Kubernetes 中,我有一个使用 secret 并将它们作为环境变量注入(inject)的部署:

apiVersion: apps/v1
kind: Deployment
...
envFrom:
- secretRef:
name: api-env

我需要更新一些环境变量,所以我删除了 secret api-env并使用更新的值再次创建它。

如何触发部署以使用新的 env secret 更新自身而无需停机?

最佳答案

我看到了一些替代方案,按可行性排序:

  • 对于 k8s 的 >v1.15 版本:kubectl rollout restart deployment $deploymentname : 这会
    以增量方式重新启动 pod,而不会导致停机。
  • 对于旧版本:更新部署模板将触发推出。来自 this issue : kubectl patch deployment mydeployment -p '{"spec":{"template":{"spec":{"containers":[{"name":"mycontainer","env":[{"name":"RESTART_","value":"'$(date +%s)'"}]}]}}}}'
  • 在卷上挂载 secret 而不是作为环境变量,如 Mounted Secrets areupdated automatically
  • One approach是将 Secret/Configmap 视为不可变的,并且在创建新的时将部署更改为指向它。
  • 对您的应用程序进行编程以观察 Secrets API 中的变化.
  • 关于deployment - 重新加载 Kubernetes 部署以在不停机的情况下获取新 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57501418/

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