kubernetes/ingress-nginx

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

Open

#10,911 建立於 2024年1月24日

在 GitHub 查看
 (14 留言) (0 反應) (1 負責人)Go (15,199 star) (7,888 fork)batch import
area/docshelp wantedkind/documentationneeds-priorityneeds-triage

描述

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.

貢獻者指南