From 87ab445010fc7c4497a22f66e052f723c9425b8c Mon Sep 17 00:00:00 2001 From: frank Date: Wed, 23 Jan 2019 14:35:38 +0800 Subject: [PATCH] Don't schedule kubedns to Windows node **Problem:** Schedule kubedns component to Windows node will cause DNS doesn't work well **Solution:** Add nodeAffinity to kubedns **Issue:** https://github.com/rancher/rancher/issues/17423 --- templates/kubedns.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/templates/kubedns.go b/templates/kubedns.go index 9bf3ab37..c05748ec 100644 --- a/templates/kubedns.go +++ b/templates/kubedns.go @@ -15,6 +15,15 @@ spec: labels: k8s-app: kube-dns-autoscaler spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/os + operator: NotIn + values: + - windows serviceAccountName: kube-dns-autoscaler containers: - name: autoscaler @@ -128,6 +137,14 @@ spec: operator: In values: ["kube-dns"] topologyKey: kubernetes.io/hostname + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/os + operator: NotIn + values: + - windows tolerations: - key: "CriticalAddonsOnly" operator: "Exists"