diff --git a/CHANGELOG/CHANGELOG-1.8.md b/CHANGELOG/CHANGELOG-1.8.md index 18179a234..fd7acbc51 100644 --- a/CHANGELOG/CHANGELOG-1.8.md +++ b/CHANGELOG/CHANGELOG-1.8.md @@ -28,3 +28,4 @@ When cutting a new release, update the `unreleased` heading to the tag being gen * [CHANGE] Upgrade to cass-operator v1.16.0 * [ENHANCEMENT] [#693](https://github.com/k8ssandra/k8ssandra-operator/issues/693) Build and publish arm64 images * [ENHANCEMENT] [#842](https://github.com/k8ssandra/k8ssandra-operator/issues/842) Remove usages of deprecated created-by label +* [ENHANCEMENT] [#1010](https://github.com/k8ssandra/k8ssandra-operator/issues/1010) Add nodeSelector and tolerations parameters to operator helm chart diff --git a/charts/k8ssandra-operator/templates/crd/batch_job.yaml b/charts/k8ssandra-operator/templates/crd/batch_job.yaml index 9c4e5f561..83ff69a05 100644 --- a/charts/k8ssandra-operator/templates/crd/batch_job.yaml +++ b/charts/k8ssandra-operator/templates/crd/batch_job.yaml @@ -34,3 +34,9 @@ spec: - {{ .Chart.Version }} - --chartName - {{ .Chart.Name }} + {{- if .Values.nodeSelector }} + nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }} + {{- end }} + {{- if .Values.tolerations }} + tolerations: {{ toYaml .Values.tolerations | nindent 8 }} + {{- end }} diff --git a/charts/k8ssandra-operator/templates/deployment.yaml b/charts/k8ssandra-operator/templates/deployment.yaml index cd8ee48cb..c454acffd 100644 --- a/charts/k8ssandra-operator/templates/deployment.yaml +++ b/charts/k8ssandra-operator/templates/deployment.yaml @@ -73,6 +73,12 @@ spec: - mountPath: /tmp/k8s-webhook-server/serving-certs name: cert readOnly: true + {{- if .Values.nodeSelector }} + nodeSelector: {{ toYaml .Values.nodeSelector | nindent 8 }} + {{- end }} + {{- if .Values.tolerations }} + tolerations: {{ toYaml .Values.tolerations | nindent 8 }} + {{- end }} terminationGracePeriodSeconds: 10 volumes: - configMap: diff --git a/charts/k8ssandra-operator/values.yaml b/charts/k8ssandra-operator/values.yaml index b16bf9576..bc36b1b8f 100644 --- a/charts/k8ssandra-operator/values.yaml +++ b/charts/k8ssandra-operator/values.yaml @@ -55,6 +55,14 @@ securityContext: # `requests` and `limits` for `cpu` and `memory` while removing the existing # `{}` resources: {} +# -- Node labels for operator pod assignment +## Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/ +## +nodeSelector: {} +# -- Node tolerations for server scheduling to nodes with taints +## Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ +## +tolerations: [] # -- The cleaner is a pre-delete hook that that ensures objects with finalizers # get deleted. For example, cass-operator sets a finalizer on the # CassandraDatacenter. Kubernetes blocks deletion of an object until all of its