【问题标题】:Kubernetes rolling update in case of secret update在秘密更新的情况下 Kubernetes 滚动更新
【发布时间】:2016-05-31 12:08:40
【问题描述】:

我有一个复制控制器,其中一个副本使用密钥。当秘密值更改时,如何使用最新的秘密值更新或重新创建其(单独的)pod?

我当前的解决方法是增加 Replication Controller 中的副本数量,删除旧的 pod,并将副本计数更改回其原始值。

是否有一个命令或标志来诱导滚动更新,保留相同的容器图像和标签?当我尝试这样做时,它会拒绝我的尝试并显示以下消息:

error: Specified --image must be distinct from existing container image

【问题讨论】:

    标签: kubernetes google-kubernetes-engine


    【解决方案1】:

    #9043#13488 的几个问题很好地描述了这个问题,我怀疑滚动更新方法很快就会出现(就像 Kubernetes 中的大多数事情一样),尽管对于 1.3.0 来说不太可能。同样的问题也适用于更新 ConfigMap。

    Kubernetes 将在部署 pod 规范中的任何内容发生更改时进行滚动更新(例如,通常将 image 更改为新版本),因此 one suggested workaround 将在您的部署 pod 规范中设置一个环境变量(例如。@ 987654325@)

    然后,当您更新了您的 secret/configmap 后,在您的部署中增加 env 值(通过kubectl apply、或patch、或edit),Kubernetes 将开始滚动更新您的部署。

    示例部署规范:

    apiVersion: extensions/v1beta1
    kind: Deployment
    metadata:
      name: test-nginx
    spec:
      replicas: 2
      template:
        metadata:
        spec:
          containers:
          - name: nginx
            image: "nginx:stable"
            ports:
            - containerPort: 80
            - mountPath: /etc/nginx/conf.d
              name: config
              readOnly: true
            - mountPath: /etc/nginx/auth
              name: tokens
              readOnly: true
            env:
            - name: RESTART_
              value: "13"
          volumes:
            - name: config
              configMap:
                name: test-nginx-config
            - name: tokens
              secret:
                secretName: test-nginx-tokens
    

    两个提示:

    • 您的环境变量名称不能以_ 开头,否则它会以某种方式神奇地消失。
    • 如果您对重启变量使用数字,则需要将其括在引号中

    【讨论】:

      【解决方案2】:

      如果我理解正确,部署应该是你想要的。

      部署支持对 pod 模板中几乎所有字段进行滚动更新。

      http://kubernetes.io/docs/user-guide/deployments/

      【讨论】:

      • 部署无济于事,因为 .spec.template 没有变化。秘密名称相同,但其值已更改
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-10-22
      • 2020-01-02
      • 2012-11-06
      • 1970-01-01
      • 2018-02-03
      • 2016-11-11
      • 2020-08-27
      相关资源
      最近更新 更多