{{- $name := include "karmada.name" . -}} {{- if and (eq .Values.installMode "component") (has "descheduler" .Values.components) }} apiVersion: apps/v1 kind: Deployment metadata: name: {{ $name }} namespace: {{ include "karmada.namespace" . }} labels: {{- include "karmada.descheduler.labels" . | nindent 4}} spec: replicas: {{ .Values.descheduler.replicaCount }} selector: matchLabels: {{- include "karmada.descheduler.labels" . | nindent 6}} {{- with .Values.descheduler.strategy }} strategy: {{- toYaml . | nindent 8 }} {{- end }} template: metadata: {{- with .Values.descheduler.podAnnotations}} annotations: {{- toYaml . | nindent 8 }} {{- end }} labels: {{- include "karmada.descheduler.labels" . | nindent 8}} {{- include "karmada.descheduler.podLabels" . | nindent 8}} spec: {{- with .Values.descheduler.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.descheduler.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.descheduler.affinity }} affinity: {{- toYaml . | nindent 8 }} {{- end }} {{- with .Values.descheduler.tolerations}} tolerations: {{- toYaml . | nindent 8 }} {{- end }} containers: - name: {{ $name }} image: {{ .Values.descheduler.image.repository}}:{{ .Values.descheduler.image.tag | default "latest" }} imagePullPolicy: {{ .Values.descheduler.image.pullPolicy }} command: - /bin/karmada-descheduler - --kubeconfig=/etc/kubeconfig - --bind-address=0.0.0.0 - --v=4 volumeMounts: {{- include "karmada.kubeconfig.volumeMount" . | nindent 12 }} resources: {{- toYaml .Values.descheduler.resources | nindent 12 }} volumes: {{- include "karmada.descheduler.kubeconfig.volume" . | nindent 8}} {{- end }}