diff --git a/calico/templates/daemonset-calico-node.yaml b/calico/templates/daemonset-calico-node.yaml index cb0deba524..a2a866e87a 100644 --- a/calico/templates/daemonset-calico-node.yaml +++ b/calico/templates/daemonset-calico-node.yaml @@ -125,6 +125,9 @@ spec: # Make sure calico-node gets scheduled on all nodes. - effect: NoSchedule operator: Exists + - key: node.kubernetes.io/not-ready + effect: NoSchedule + operator: Exists # Mark the pod as a critical add-on for rescheduling. - key: CriticalAddonsOnly operator: Exists diff --git a/calico/templates/deployment-calico-kube-controllers.yaml b/calico/templates/deployment-calico-kube-controllers.yaml index 1c5937d8e0..84d0083c0e 100644 --- a/calico/templates/deployment-calico-kube-controllers.yaml +++ b/calico/templates/deployment-calico-kube-controllers.yaml @@ -105,6 +105,9 @@ spec: operator: Exists - key: node-role.kubernetes.io/master effect: NoSchedule + - key: node.kubernetes.io/not-ready + operator: Exists + effect: NoSchedule serviceAccountName: {{ $serviceAccountName }} initContainers: {{ tuple $envAll "calico_kube_controllers" list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }} diff --git a/calico/templates/job-calico-settings.yaml b/calico/templates/job-calico-settings.yaml index 1154241ca2..2329bbc94a 100644 --- a/calico/templates/job-calico-settings.yaml +++ b/calico/templates/job-calico-settings.yaml @@ -42,6 +42,9 @@ spec: tolerations: - key: node-role.kubernetes.io/master effect: NoSchedule + - key: node.kubernetes.io/not-ready + operator: Exists + effect: NoSchedule # Allow this pod to be rescheduled while the node is in "critical add-ons only" mode. # This, along with the annotation above marks this pod as a critical add-on. - key: CriticalAddonsOnly