Skip to content

Commit

Permalink
Ensure logging pods only run on Linux nodes
Browse files Browse the repository at this point in the history
Ensure logging pods only run on Linux nodes by adding tolerations and
node selectors for fluentbit and fluentd. The tolerations have
"NoSchedule" for Windows nodes, and the node selectors look for nodes
with a Linux-based OS.
  • Loading branch information
nickgerace committed Oct 9, 2020
1 parent 708b31e commit 3cb2ca3
Show file tree
Hide file tree
Showing 10 changed files with 143 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -28,4 +34,11 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -31,4 +37,11 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -31,4 +37,11 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -29,5 +35,12 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}

Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -31,4 +37,11 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ spec:
name: logdir
- mountPath: /fluent-bit/etc/
name: config
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
volumes:
- name: logdir
hostPath:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,25 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
tag: {{ .Values.images.fluentd.tag }}
configReloaderImage:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
repository: {{ template "keusystem_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -29,4 +35,11 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
{{- end }}
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,12 @@ spec:
tolerations:
{{ toYaml . | nindent 6 }}
{{ end }}
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
fluentd:
image:
repository: {{ template "system_default_registry" . }}{{ .Values.images.fluentd.repository }}
Expand All @@ -23,3 +29,10 @@ spec:
repository: {{ template "system_default_registry" . }}{{ .Values.images.config_reloader.repository }}
tag: {{ .Values.images.config_reloader.tag }}
disablePvc: {{ .Values.disablePvc }}
tolerations:
- key: "cattle.io/os"
operator: "Equal"
value: "linux"
effect: "NoSchedule"
nodeSelector:
kubernetes.io/os: linux
43 changes: 31 additions & 12 deletions packages/rancher-logging/rancher-logging.patch
Original file line number Diff line number Diff line change
Expand Up @@ -20,18 +20,6 @@ diff -x '*.tgz' -x '*.lock' -uNr packages/rancher-logging/charts-original/Chart.
+ catalog.cattle.io/release-name: rancher-logging
+ catalog.cattle.io/ui-component: logging
+ catalog.cattle.io/provides-gvr: logging.banzaicloud.io.clusterflow/v1beta1
diff -x '*.tgz' -x '*.lock' -uNr packages/rancher-logging/charts-original/templates/deployment.yaml packages/rancher-logging/charts/templates/deployment.yaml
--- packages/rancher-logging/charts-original/templates/deployment.yaml
+++ packages/rancher-logging/charts/templates/deployment.yaml
@@ -30,7 +30,7 @@
{{- end }}
containers:
- name: {{ .Chart.Name }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ image: "{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
diff -x '*.tgz' -x '*.lock' -uNr packages/rancher-logging/charts-original/templates/_helpers.tpl packages/rancher-logging/charts/templates/_helpers.tpl
--- packages/rancher-logging/charts-original/templates/_helpers.tpl
+++ packages/rancher-logging/charts/templates/_helpers.tpl
Expand All @@ -47,6 +35,37 @@ diff -x '*.tgz' -x '*.lock' -uNr packages/rancher-logging/charts-original/templa
+{{- "" -}}
+{{- end -}}
+{{- end -}}
diff -x '*.tgz' -x '*.lock' -uNr packages/rancher-logging/charts-original/templates/deployment.yaml packages/rancher-logging/charts/templates/deployment.yaml
--- packages/rancher-logging/charts-original/templates/deployment.yaml
+++ packages/rancher-logging/charts/templates/deployment.yaml
@@ -30,7 +30,7 @@
{{- end }}
containers:
- name: {{ .Chart.Name }}
- image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+ image: "{{ template "system_default_registry" . }}{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
@@ -49,6 +49,7 @@
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
+ kubernetes.io/os: linux
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
@@ -57,6 +58,10 @@
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
+ - key: "cattle.io/os"
+ operator: "Equal"
+ value: "linux"
+ effect: "NoSchedule"
{{- if .Values.rbac.enabled }}
serviceAccountName: {{ include "logging-operator.fullname" . }}
{{- end }}
diff -x '*.tgz' -x '*.lock' -uNr packages/rancher-logging/charts-original/values.yaml packages/rancher-logging/charts/values.yaml
--- packages/rancher-logging/charts-original/values.yaml
+++ packages/rancher-logging/charts/values.yaml
Expand Down

0 comments on commit 3cb2ca3

Please sign in to comment.