3 个 Pod,当 Replicas 设置为 2 时

Vac*_*ano 0 kubernetes kubernetes-helm

我在 prem kubernetes 上运行。我有一个正在运行 3 个 Pod 的版本。有一次(我假设)我部署了带有 3 个副本的 Helm Chart。但此后我部署了一个具有 2 个副本的更新。

当我运行时helm get manifest my-release-name -n my-namespace,它显示部署 yaml 的副本数设置为 2。

但当我跑步时它仍然有 3 个 pod kubectl get pods -n my-namespace

需要什么(从舵手的角度来看)才能将副本数量降至我设置的限制?

更新
当我调试该版本的崩溃循环退避时,我注意到了这一点。

kubectl describe pod这是三个 Pod 之一的外观示例。

名称: my-helm-release-7679dc8c79-knd9x
命名空间:我的命名空间
优先级:0
节点:my-kube-cluster-b178d4-k8s-worker-1/10.1.2.3
开始时间:2021年5月5日星期三21:27:36 -0600
标签:app.kubernetes.io/instance=my-helm-release
              app.kubernetes.io/name=my-helm-release
              pod 模板哈希=7679dc8c79
注释:  
状态:正在运行
IP:10.1.2.4
IP:
  IP:10.1.2.4
控制者:ReplicaSet/my-helm-release-7679dc8c79
容器:
  我的头盔释放:
    容器ID:docker://9a9f213efa63ba8fd5a9e0fad84eb0615996c768c236ae0045d1e7bec012eb02
    图片:dockerrespository.mydomain.com/repository/runtime/my-helm-release:1.9.0-build.166
    镜像ID:docker-pullable://dockerrespository.mydomain.com/repository/runtime/my-helm-release@sha256:a11179795e7ebe3b9e57a35b0b27ec9577c5c3cd473cc0ecc393a874f03eed92
    端口:80/TCP
    主机端口:0/TCP
    状态:等待
      原因:CrashLoopBackOff
    最后状态:已终止
      原因:错误
      退出代码:139
      开始时间: 2021 年 5 月 11 日,星期二 12:24:04 -0600
      完成时间:2021 年 5 月 11 日星期二 12:24:15 -0600
    准备就绪:错误
    重启次数:2509
    活跃度:http-get http://:http/delay=0s timeout=1s period=10s #success=1 #failure=3
    准备情况:http-get http://:http/delay=0s timeout=1s period=10s #success=1 #failure=3
    坐骑:
      /var/run/secrets/kubernetes.io/serviceaccount 来自 default-token-82gnm (ro)
状况:
  类型 状态
  初始化为真
  准备好假
  容器就绪 False
  PodScheduled True
卷:
  默认令牌82gnm:
    类型:Secret(由 Secret 填充的卷)
    SecretName:default-token-82gnm
    可选:假
QoS 等级:尽力而为
节点选择器:  
容忍:node.kubernetes.io/not-ready:NoExecute op=存在 300 秒
                 node.kubernetes.io/unreachable:NoExecute op=存在 300 秒
活动:
  类型 原因 消息年龄
  ---- ------ ---- ---- --------
  警告不健康 10m(x3758 超过 5d15h)kubelet 就绪探测失败:获取 http://10.1.2.4:80/: 拨打 tcp 10.1.2.4:80: 连接:连接被拒绝
  警告 BackOff 15s (x35328 over 5d14h) kubelet Back-off 重新启动失败的容器

Jon*_*nas 5

需要什么(从舵手的角度来看)才能将副本数量降至我设置的限制?

您的 Pod 需要处于“健康”状态。然后它们就在您想要的副本数量中。

首先,您部署了 3 个副本。这是由 ReplicaSet 管理的。

然后您部署了一个新修订版,其中包含 2 个副本。将执行“滚动部署”。将创建包含新修订版的第一个 pod,但只有当您拥有新修订版的健康实例时,旧 ReplicaSet 的副本才会按比例缩小。