在k8s v1.12.3的deployment中定义滚动升级的策略,如果用默认值1,实际上并没起到升级失败后对老pod的保护;
如果新的容器有问题,依然把老的正常容器kill掉了,这不符合我们的预期;

    "strategy": {
      "type": "RollingUpdate",
      "rollingUpdate": {
        "maxUnavailable": 1,
        "maxSurge": 1
      }
    },

改成百分比后,若新pod启动失败,则升级过程会被block住;老的正常pod依然running;

    "strategy": {
      "type": "RollingUpdate",
      "rollingUpdate": {
        "maxUnavailable": "25%",
        "maxSurge": "25%"
      }
    },

所以,需要手工配置这两个参数;

maxUnavailable:最大无效pod数。
maxSurge:最大激增pod数。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐