kubernetes - CrashLoopBackOff 时如何自动停止滚动更新?

标签 kubernetes google-kubernetes-engine

我使用 Google Kubernetes Engine 并且故意在代码中添加了错误。我希望滚动更新会在发现状态为 CrashLoopBackOff 时停止,但事实并非如此。

在此 page , 他们说..

The Deployment controller will stop the bad rollout automatically, and will stop scaling up the new ReplicaSet. This depends on the rollingUpdate parameters (maxUnavailable specifically) that you have specified.



但它没有发生,是否只有状态 ImagePullBackOff ?

下面是我的配置。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: volume-service
  labels:
    group: volume
    tier: service
spec:
  replicas: 4
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 2
      maxSurge: 2
  template:
    metadata:
      labels:
        group: volume
        tier: service
    spec:
      containers:
      - name: volume-service
        image: gcr.io/example/volume-service:latest

附言我已经阅读了 liveness/readiness 探测器,但我认为它不能阻止滚动更新?或者是吗?

最佳答案

结果我只需要设置 minReadySeconds并且当新的 replicaSet 状态为 CrashLoopBackOff 时停止滚动更新或类似 Exited with status code 1 .所以现在旧的 replicaSet 仍然可用并且没有更新。

这是新的配置。

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: volume-service
  labels:
    group: volume
    tier: service
spec:
  replicas: 4
  minReadySeconds: 60
  strategy:
    type: RollingUpdate
    rollingUpdate:
      maxUnavailable: 2
      maxSurge: 2
  template:
    metadata:
      labels:
        group: volume
        tier: service
    spec:
      containers:
      - name: volume-service
        image: gcr.io/example/volume-service:latest

谢谢大家的帮助!

关于kubernetes - CrashLoopBackOff 时如何自动停止滚动更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52121422/

相关文章:

google-kubernetes-engine - GKE 集群创建失败,因为网络 "default"在 10.0.0.0/8 中没有可用的私有(private) IP 空间来预留 a/14 block

kubernetes - 与 etcd 直接通信的 Kubernetes 模块是什么

reactjs - 在不同的路线上运行 SPA

docker - 如何在 minikube VM 中挂载 Host 文件夹

kubernetes 打印特定列

kubernetes - GKE 集群中的水平自动扩缩器

kubernetes - 在多节点kubernetes上设置部署

kubernetes - 如何更新K8S Pod的DNS配置

kubernetes - Helm 将 SecretKeyRef 连接到一个环境变量中

作业失败后 Kubernetes pod 消失