From fc48d8239206539c84d7f9d1ab00178494c98651 Mon Sep 17 00:00:00 2001 From: galal-hussein Date: Fri, 22 Jun 2018 06:04:07 +0200 Subject: [PATCH] Change controlplane taint to NoSchedule --- cluster/reconcile.go | 2 +- k8s/node.go | 6 +++++- services/workerplane.go | 2 +- templates/calico.go | 2 +- templates/canal.go | 2 +- templates/flannel.go | 2 +- templates/job-deployer.go | 2 +- templates/weave.go | 2 +- 8 files changed, 12 insertions(+), 8 deletions(-) diff --git a/cluster/reconcile.go b/cluster/reconcile.go index 15fe86cb..5dc9ac85 100644 --- a/cluster/reconcile.go +++ b/cluster/reconcile.go @@ -17,7 +17,7 @@ import ( const ( unschedulableEtcdTaint = "node-role.kubernetes.io/etcd=true:NoExecute" - unschedulableControlTaint = "node-role.kubernetes.io/controlplane=true:NoExecute" + unschedulableControlTaint = "node-role.kubernetes.io/controlplane=true:NoSchedule" ) func ReconcileCluster(ctx context.Context, kubeCluster, currentCluster *Cluster, updateOnly bool) error { diff --git a/k8s/node.go b/k8s/node.go index 794ccede..47581ff9 100644 --- a/k8s/node.go +++ b/k8s/node.go @@ -222,7 +222,11 @@ func doSyncTaints(k8sClient *kubernetes.Clientset, nodeName string, toAddTaints, // Remove Taints from node for i, taintStr := range toDelTaints { if isTaintExist(toTaint(taintStr), node.Spec.Taints) { - node.Spec.Taints = append(node.Spec.Taints[:i], node.Spec.Taints[i+1:]...) + if len(node.Spec.Taints) == 1 { + node.Spec.Taints = []v1.Taint{} + } else { + node.Spec.Taints = append(node.Spec.Taints[:i], node.Spec.Taints[i+1:]...) + } } } diff --git a/services/workerplane.go b/services/workerplane.go index 4d20496b..62a59a8c 100644 --- a/services/workerplane.go +++ b/services/workerplane.go @@ -12,7 +12,7 @@ import ( const ( unschedulableEtcdTaint = "node-role.kubernetes.io/etcd=true:NoExecute" - unschedulableControlTaint = "node-role.kubernetes.io/controlplane=true:NoExecute" + unschedulableControlTaint = "node-role.kubernetes.io/controlplane=true:NoSchedule" ) func RunWorkerPlane(ctx context.Context, allHosts []*hosts.Host, localConnDialerFactory hosts.DialerFactory, prsMap map[string]v3.PrivateRegistry, workerNodePlanMap map[string]v3.RKEConfigNodePlan, certMap map[string]pki.CertificatePKI, updateWorkersOnly bool, alpineImage string) error { diff --git a/templates/calico.go b/templates/calico.go index dc104a99..419c4358 100644 --- a/templates/calico.go +++ b/templates/calico.go @@ -185,7 +185,7 @@ spec: operator: Exists - key: "node-role.kubernetes.io/controlplane" operator: "Exists" - effect: "NoExecute" + effect: "NoSchedule" - key: "node-role.kubernetes.io/etcd" operator: "Exists" effect: "NoExecute" diff --git a/templates/canal.go b/templates/canal.go index 4a953194..5b4b1a0e 100644 --- a/templates/canal.go +++ b/templates/canal.go @@ -242,7 +242,7 @@ spec: operator: Exists - key: "node-role.kubernetes.io/controlplane" operator: "Exists" - effect: "NoExecute" + effect: "NoSchedule" - key: "node-role.kubernetes.io/etcd" operator: "Exists" effect: "NoExecute" diff --git a/templates/flannel.go b/templates/flannel.go index d6bd8a75..26ea72e0 100644 --- a/templates/flannel.go +++ b/templates/flannel.go @@ -150,7 +150,7 @@ spec: tolerations: - key: node-role.kubernetes.io/controlplane operator: Exists - effect: NoExecute + effect: NoSchedule - key: node-role.kubernetes.io/etcd operator: Exists effect: NoExecute diff --git a/templates/job-deployer.go b/templates/job-deployer.go index fcde45f8..57cfbee4 100644 --- a/templates/job-deployer.go +++ b/templates/job-deployer.go @@ -17,7 +17,7 @@ spec: tolerations: - key: node-role.kubernetes.io/controlplane operator: Exists - effect: NoExecute + effect: NoSchedule - key: node-role.kubernetes.io/etcd operator: Exists effect: NoExecute diff --git a/templates/weave.go b/templates/weave.go index 6612c185..f8d891a3 100644 --- a/templates/weave.go +++ b/templates/weave.go @@ -98,7 +98,7 @@ items: tolerations: - key: "node-role.kubernetes.io/controlplane" operator: "Exists" - effect: "NoExecute" + effect: "NoSchedule" - key: "node-role.kubernetes.io/etcd" operator: "Exists" effect: "NoExecute"