karmada/charts/karmada/templates/karmada-controller-manager....

99 lines
3.3 KiB
YAML

{{- if eq .Values.installMode "host" }}
{{- $name := include "karmada.name" . -}}
{{- $systemNamespace := .Values.systemNamespace -}}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ $name }}-controller-manager
namespace: {{ include "karmada.namespace" . }}
labels:
{{- include "karmada.cm.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.controllerManager.replicaCount }}
selector:
matchLabels:
{{- include "karmada.cm.labels" . | nindent 6 }}
{{- with .Values.controllerManager.strategy }}
strategy:
{{- toYaml . | nindent 4 }}
{{- end }}
template:
metadata:
{{- with .Values.controllerManager.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "karmada.cm.labels" . | nindent 8 }}
{{- include "karmada.cm.podLabels" . | nindent 8 }}
spec:
{{- include "karmada.controllerManager.imagePullSecrets" . | nindent 6 }}
automountServiceAccountToken: false
{{- with .Values.controllerManager.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.controllerManager.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.controllerManager.tolerations}}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
{{- include "karmada.init-sa-secret.volume" . | nindent 8 }}
{{- include "karmada.kubeconfig.volume" . | nindent 8 }}
initContainers:
{{- include "karmada.initContainer.waitStaticResource" . | nindent 8 }}
containers:
- name: {{ $name }}-controller-manager
image: {{ template "karmada.controllerManager.image" . }}
imagePullPolicy: {{ .Values.controllerManager.image.pullPolicy }}
command:
- /bin/karmada-controller-manager
- --kubeconfig=/etc/kubeconfig
- --bind-address=0.0.0.0
- --cluster-status-update-frequency=10s
- --secure-port=10357
- --leader-elect-resource-namespace={{ $systemNamespace }}
- --v=2
{{- if .Values.controllerManager.controllers }}
- --controllers={{ .Values.controllerManager.controllers }}
{{- end }}
{{- with (include "karmada.controllerManager.featureGates" .) }}
- {{ . }}
{{- end }}
{{- include "karmada.controllerManager.extraCommandArgs" . | nindent 12 }}
livenessProbe:
httpGet:
path: /healthz
port: 10357
scheme: HTTP
failureThreshold: 3
initialDelaySeconds: 15
periodSeconds: 15
timeoutSeconds: 5
volumeMounts:
{{- include "karmada.kubeconfig.volumeMount" . | nindent 12 }}
resources:
{{- toYaml .Values.controllerManager.resources | nindent 12 }}
{{ if .Values.controllerManager.podDisruptionBudget }}
---
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ $name }}-controller-manager
namespace: {{ include "karmada.namespace" . }}
labels:
{{- include "karmada.cm.labels" . | nindent 4 }}
spec:
selector:
matchLabels:
{{- include "karmada.cm.labels" . | nindent 6 }}
{{ toYaml .Values.controllerManager.podDisruptionBudget | nindent 2 }}
{{- end -}}
{{- end }}