From 6413f2ae5cfbcebfaa918fa72bd6001fa5761a09 Mon Sep 17 00:00:00 2001 From: jskrill Date: Mon, 14 Sep 2026 10:37:20 -0400 Subject: [PATCH] fix(kubernetes/node): use numeric priority for static pods (#13490) Signed-off-by: Jules Skrill --- .../kubernetes/node/templates/manifests/haproxy.manifest.j2 | 5 ++++- .../kubernetes/node/templates/manifests/kube-vip.manifest.j2 | 4 ++++ .../node/templates/manifests/nginx-proxy.manifest.j2 | 5 ++++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/roles/kubernetes/node/templates/manifests/haproxy.manifest.j2 b/roles/kubernetes/node/templates/manifests/haproxy.manifest.j2 index 56fe563fb..78572b411 100644 --- a/roles/kubernetes/node/templates/manifests/haproxy.manifest.j2 +++ b/roles/kubernetes/node/templates/manifests/haproxy.manifest.j2 @@ -13,7 +13,10 @@ spec: dnsPolicy: ClusterFirstWithHostNet nodeSelector: kubernetes.io/os: linux - priorityClassName: system-node-critical +{# Static pods do not support priorityClassName, so set the numeric priority of + system-node-critical directly, otherwise kubelet may evict this pod early: + https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#pod-selection-for-kubelet-eviction #} + priority: 2000001000 containers: - name: haproxy image: {{ haproxy_image_repo }}:{{ haproxy_image_tag }} diff --git a/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2 b/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2 index f3df165ae..69395fab1 100644 --- a/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2 +++ b/roles/kubernetes/node/templates/manifests/kube-vip.manifest.j2 @@ -144,6 +144,10 @@ spec: - kubernetes ip: 127.0.0.1 hostNetwork: true +{# Static pods do not support priorityClassName, so set the numeric priority of + system-node-critical directly, otherwise kubelet may evict this pod early: + https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#pod-selection-for-kubelet-eviction #} + priority: 2000001000 volumes: - hostPath: path: /etc/kubernetes/{{kube_vip_admin_conf}} diff --git a/roles/kubernetes/node/templates/manifests/nginx-proxy.manifest.j2 b/roles/kubernetes/node/templates/manifests/nginx-proxy.manifest.j2 index c31784d35..4064455bf 100644 --- a/roles/kubernetes/node/templates/manifests/nginx-proxy.manifest.j2 +++ b/roles/kubernetes/node/templates/manifests/nginx-proxy.manifest.j2 @@ -13,7 +13,10 @@ spec: dnsPolicy: ClusterFirstWithHostNet nodeSelector: kubernetes.io/os: linux - priorityClassName: system-node-critical +{# Static pods do not support priorityClassName, so set the numeric priority of + system-node-critical directly, otherwise kubelet may evict this pod early: + https://kubernetes.io/docs/concepts/scheduling-eviction/node-pressure-eviction/#pod-selection-for-kubelet-eviction #} + priority: 2000001000 containers: - name: nginx-proxy image: {{ nginx_image_repo }}:{{ nginx_image_tag }}