Robert Church e20c067e50 Add NoSchedule tolerations for application charts
Add a toleration for the node-role.kubernetes.io/master:NoSchedule
taint. This taint will be restored to all standard (non-AIO) master
nodes to prevent user pods from being scheduled and run. These workloads
will be scheduled and run on a worker node.

This change will ensure that the rbd/cephfs provisioner and ceph audit
pods will continue run on the master nodes (as designed).

The following tests were executed:
- Using an the existing app, remove the application, add the
  node-role.kubernetes.io/master:NoSchedule taint and confirmed that
  upon application-apply that the application will not apply as the pods
  will be in a Pending state.
- With the existing application applied, add the
  node-role.kubernetes.io/master:NoSchedule taint and execute an
  application-update to a new application with these changes. Confirmed
  that the application updates successfully. Confirmed that toleration
  is present when describing the pod(s).

Change-Id: I0a6368c717d336ac6c024bda596c283d2943285b
Depends-On: https://review.opendev.org/c/starlingx/config/+/812629
Story: 2009232
Task: 43346
Signed-off-by: Robert Church <robert.church@windriver.com>
2021-10-06 01:49:40 -04:00

48 lines
1.2 KiB
YAML

{{/*
#
# Copyright (c) 2018 Wind River Systems, Inc.
#
# SPDX-License-Identifier: Apache-2.0
#
*/}}
{{- if eq .Values.global.deployAs "DaemonSet" }}
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: {{ .Values.global.name }}
namespace: {{ .Release.Namespace }}
labels:
app: {{ .Values.global.name }}
spec:
selector:
matchLabels:
app: {{ .Values.global.name }}
template:
metadata:
labels:
app: {{ .Values.global.name }}
spec:
{{- if or .Values.global.rbac .Values.global.reuseRbac }}
serviceAccountName: {{ .Values.rbac.serviceAccount }}
{{- end }}
{{- with .Values.global.tolerations }}
tolerations:
{{ toYaml . | indent 8 }}
{{- end }}
{{- if .Values.global.nodeSelector }}
nodeSelector:
{{ .Values.global.nodeSelector | toYaml | trim | indent 8 }}
{{- end }}
containers:
- image: {{ .Values.global.image | quote }}
name: {{ .Values.global.name }}
{{- if .Values.global.resources }}
resources:
{{ .Values.global.resources | toYaml | trim | indent 12 }}
{{- end }}
env:
- name: PROVISIONER_NAME
value: {{ .Values.global.provisioner_name }}
{{- end }}