From d3c89372bfd149fb9692c1f47b5a81df924e63f0 Mon Sep 17 00:00:00 2001 From: Frank Mai Date: Thu, 2 May 2019 22:58:59 +0800 Subject: [PATCH] Don't schedule Linux addons to Windows node **Problem:** Schedule default-http-backend and metrics-server to Windows node will be failed. **Solution:** Add nodeAffinity to default-http-backend and metrics-server workload spec **Issue:** https://github.com/rancher/rancher/issues/19929 --- templates/metrics.go | 9 +++++++++ templates/nginx-ingress.go | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/templates/metrics.go b/templates/metrics.go index 57a0bbcd..b9540907 100644 --- a/templates/metrics.go +++ b/templates/metrics.go @@ -106,6 +106,15 @@ spec: labels: k8s-app: metrics-server spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/os + operator: NotIn + values: + - windows serviceAccountName: metrics-server containers: - name: metrics-server diff --git a/templates/nginx-ingress.go b/templates/nginx-ingress.go index 72cb2ba7..c6aa49c3 100644 --- a/templates/nginx-ingress.go +++ b/templates/nginx-ingress.go @@ -275,6 +275,15 @@ spec: labels: app: default-http-backend spec: + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: beta.kubernetes.io/os + operator: NotIn + values: + - windows terminationGracePeriodSeconds: 60 containers: - name: default-http-backend