kubernetes/ingress-nginx

Enabling Helm .Values.controller.opentelemetry.enabled prevents pods from being rescheduled on different nodes and cluster auto-scaling from working.

オープン

#10,911 opened on 2024/01/24

 (14 件のコメント) (0 件のリアクション) (1 人の担当者)Go (7,888 件のフォーク)batch import
area/docshelp wantedkind/documentationneeds-priorityneeds-triage

Repository metrics

Stars
 (15,199 個のスター)
PR merge metrics
 (30d に merged PR はありません)

説明

What happened: Enabling .Values.controller.opentelemetry.enabled prevents pods from being rescheduled on different nodes and cluster auto-scaling from working.

What you expected to happen: Expected cluster auto-scaling to continue to reschedule ingres-nginx pods on different nodes

NGINX Ingress controller version (exec into the pod and run nginx-ingress-controller --version.): registry.k8s.io/ingress-nginx/controller:v1.9.5@sha256:b3aba22b1da80e7acfc52b115cae1d4c687172cbf2b742d5b502419c25ff340e

The helm chart adds emptyDir: {} here when the .Values.controller.opentelemetry.enabled is set to true: https://github.com/kubernetes/ingress-nginx/blob/0c3d52bade1219c1d61d486e44a91ded48766aac/charts/ingress-nginx/templates/controller-daemonset.yaml#L215

I think it should also add the annotation in podAnnotations area in the same file... cluster-autoscaler.kubernetes.io/safe-to-evict: "true" automatically in the helm chart when .Values.controller.opentelemetry.enabled or at least give a warning that you might want to consider adding it yourself because cluster autoscaling won't be able to move your ingress-nginx pods otherwise.

コントリビューターガイド