Skip to content

Helm update fails because "spec.progressDeadlineSeconds: Invalid value: 0: must be greater than minReadySeconds" #13537

Open
@andreanardi7

Description

@andreanardi7

What happened:
During an helm update with this command
helm upgrade -f ../values/ppr-values.yaml --namespace ingress --timeout 5m --wait ingress ingress/

Returns this error
Error: UPGRADE FAILED: cannot patch "ingress-controller" with kind Deployment: Deployment.apps "ingress-controller" is invalid: spec.progressDeadlineSeconds: Invalid value: 0: must be greater than minReadySeconds

What you expected to happen:
Just update the kubernetes ingress

Maybe the issue is being cased by spec.progressDeadlineSeconds not matching the values in valuse.yaml

NGINX Ingress controller version (exec into the pod and run /nginx-ingress-controller --version):v1.5.1

Kubernetes version (use kubectl version): v1.33.1

Environment:

  • Cloud provider or hardware configuration: GCP

  • OS (e.g. from /etc/os-release): Alpine Linux

  • Kernel (e.g. uname -a):
    Linux ingress-controller-7fb4796969-f5rvt 6.6.87+ Basic structure  #1 SMP PREEMPT_DYNAMIC Sat May 31 09:37:58 UTC 2025 x86_64 Linux

  • Install tools: GKE

    • Please mention how/where was the cluster created like kubeadm/kops/minikube/kind etc.
  • Basic cluster related info:

    • kubectl version
      v1.33.1
    • kubectl get nodes -o wide
      gke-alpenite-jenk-ppr-c1-pool1-e6c14cc3-5gst Ready 28h v1.32.4-gke.1603000 10.0.20.39 Container-Optimized OS from Google 6.6.87+ containerd://1.7.27
  • How was the ingress-nginx-controller installed: helm

    • If helm was used then please show output of helm ls -A | grep -i ingress
      ingress ingress 17 2025-06-20 12:47:24.965444419 +0200 CEST failed ingress-0.0.1
  • Current State of the controller:

    • kubectl describe ingressclasses
      Name: nginx
      Labels: app.kubernetes.io/component=controller
      app.kubernetes.io/instance=ingress
      app.kubernetes.io/managed-by=Helm
      app.kubernetes.io/name=ingress-nginx-ppr
      app.kubernetes.io/part-of=ingress-nginx-ppr
      app.kubernetes.io/version=1.12.3
      helm.sh/chart=ingress-nginx-ppr-4.12.3
      Annotations: meta.helm.sh/release-name: ingress
      meta.helm.sh/release-namespace: ingress
      Controller: k8s.io/ingress-nginx
      Events:
    • kubectl -n <ingresscontrollernamespace> get all -A -o wide
    • kubectl -n <ingresscontrollernamespace> describe po <ingresscontrollerpodname>
      Name: ingress-controller-7fb4796969-f5rvt
      Namespace: ingress
      Priority: 1000000000
      Priority Class Name: high
      Service Account: ingress
      Node: gke-alpenite-jenk-ppr-c1-pool1-e6c14cc3-5gst/10.0.20.39
      Start Time: Thu, 19 Jun 2025 10:21:40 +0200
      Labels: app.kubernetes.io/component=controller
      app.kubernetes.io/instance=ingress
      app.kubernetes.io/name=ingress-nginx-ppr
      pod-template-hash=7fb4796969
      Annotations: cloud.google.com/cluster_autoscaler_unhelpable_since: 2025-06-18T15:30:35+0000
      cloud.google.com/cluster_autoscaler_unhelpable_until: Inf
      cni.projectcalico.org/containerID: a783d61ca89cc26f347c17c059993a492c8032445bc21e65b9e9ef29d8e1fec3
      cni.projectcalico.org/podIP: 10.20.0.10/32
      cni.projectcalico.org/podIPs: 10.20.0.10/32
      Status: Running
      IP: 10.20.0.10
      IPs:
      IP: 10.20.0.10
      Controlled By: ReplicaSet/ingress-controller-7fb4796969
      Containers:
      controller:
      Container ID: containerd://382839df3be24812bcb1ef2bed25c3ef80f5727bdd78d1f99a14f6c26ac0bc81
      Image: registry.k8s.io/ingress-nginx/controller:v1.5.1@sha256:4ba73c697770664c1e00e9f968de14e08f606ff961c76e5d7033a4a9c593c629
      Image ID: registry.k8s.io/ingress-nginx/controller@sha256:4ba73c697770664c1e00e9f968de14e08f606ff961c76e5d7033a4a9c593c629
      Ports: 80/TCP, 443/TCP
      Host Ports: 0/TCP, 0/TCP
      Args:
      /nginx-ingress-controller
      --publish-service=$(POD_NAMESPACE)/ingress-controller
      --election-id=ingress-leader
      --controller-class=k8s.io/ingress-nginx
      --ingress-class=nginx
      --configmap=$(POD_NAMESPACE)/ingress-controller
      State: Running
      Started: Thu, 19 Jun 2025 10:22:00 +0200
      Ready: True
      Restart Count: 0
      Limits:
      cpu: 200m
      memory: 200Mi
      Requests:
      cpu: 100m
      memory: 100Mi
      Liveness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=5
      Readiness: http-get http://:10254/healthz delay=10s timeout=1s period=10s #success=1 #failure=3
      Environment:
      POD_NAME: ingress-controller-7fb4796969-f5rvt (v1:metadata.name)
      POD_NAMESPACE: ingress (v1:metadata.namespace)
      LD_PRELOAD: /usr/local/lib/libmimalloc.so
      Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-jjr2j (ro)
      Conditions:
      Type Status
      PodReadyToStartContainers True
      Initialized True
      Ready True
      ContainersReady True
      PodScheduled True
      Volumes:
      kube-api-access-jjr2j:
      Type: Projected (a volume that contains injected data from multiple sources)
      TokenExpirationSeconds: 3607
      ConfigMapName: kube-root-ca.crt
      Optional: false
      DownwardAPI: true
      QoS Class: Burstable
      Node-Selectors: kubernetes.io/os=linux
      Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
      node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
      Events:
  • Current state of ingress object, if applicable:

    • kubectl -n <appnamespace> get all,ing -o wide
    • kubectl -n <appnamespace> describe ing <ingressname>
    • If applicable, then, your complete and exact curl/grpcurl command (redacted if required) and the reponse to the curl/grpcurl command with the -v flag
  • Others:

    • Any other related information like ;
      • copy/paste of the snippet (if applicable)
      • kubectl describe ... of any custom configmap(s) created and in use
      • Any other related information that may help

How to reproduce this issue:
helm upgrade ingress with helm version 4.12.3 on a 1.32.4 GKE cluster

Anything else we need to know:

Metadata

Metadata

Assignees

No one assigned

    Labels

    needs-kindIndicates a PR lacks a `kind/foo` label and requires one.needs-priorityneeds-triageIndicates an issue or PR lacks a `triage/foo` label and requires one.

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions