karmada/charts/templates/karmada_scheduler_estimator...

98 lines
3.3 KiB
YAML

{{- if and (eq .Values.installMode "component") (has "schedulerEstimator" .Values.components) }}
{{ $namespace := include "karmada.namespace" .}}
{{ $clusterName := .Values.schedulerEstimator.clusterName }}
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: karmada-scheduler-estimator-{{ $clusterName }}
namespace: {{ $namespace }}
labels:
cluster: {{ $clusterName }}
{{- include "karmada.schedulerEstimator.labels" . | nindent 4}}
spec:
replicas: {{ .Values.schedulerEstimator.replicaCount }}
selector:
matchLabels:
app: karmada-scheduler-estimator-{{ $clusterName }}
{{- include "karmada.schedulerEstimator.labels" . | nindent 6}}
{{- with .Values.schedulerEstimator.strategy }}
strategy:
{{- toYaml . | nindent 8 }}
{{- end }}
template:
metadata:
{{- with .Values.schedulerEstimator.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
app: karmada-scheduler-estimator-{{ $clusterName }}
{{- include "karmada.schedulerEstimator.labels" . | nindent 8}}
{{- include "karmada.schedulerEstimator.podLabels" . | nindent 8}}
spec:
{{- with .Values.schedulerEstimator.tolerations}}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: karmada-scheduler-estimator
image: "{{ .Values.schedulerEstimator.image.repository }}:{{ .Values.schedulerEstimator.image.tag | default "latest" }}"
imagePullPolicy: {{ .Values.schedulerEstimator.image.pullPolicy }}
command:
- /bin/karmada-scheduler-estimator
- --kubeconfig=/etc/{{ $clusterName }}-kubeconfig
- --cluster-name={{ $clusterName }}
volumeMounts:
- name: member-kubeconfig
subPath: {{ $clusterName }}-kubeconfig
mountPath: /etc/{{ $clusterName }}-kubeconfig
volumes:
- name: member-kubeconfig
secret:
secretName: {{ $clusterName }}-kubeconfig
---
apiVersion: v1
kind: Service
metadata:
name: karmada-scheduler-estimator-{{ $clusterName }}
namespace: {{ $namespace }}
labels:
cluster: {{ $clusterName }}
spec:
selector:
app: karmada-scheduler-estimator-{{ $clusterName }}
{{- include "karmada.schedulerEstimator.labels" . | nindent 4}}
ports:
- protocol: TCP
port: 10352
targetPort: 10352
---
apiVersion: v1
kind: Secret
metadata:
name: {{ $clusterName }}-kubeconfig
namespace: {{ $namespace }}
stringData:
{{ $clusterName }}-kubeconfig: |-
apiVersion: v1
kind: Config
clusters:
- cluster:
certificate-authority-data: {{ b64enc .Values.schedulerEstimator.kubeconfig.caCrt }}
insecure-skip-tls-verify: false
server: {{ .Values.schedulerEstimator.kubeconfig.server }}
name: {{ $clusterName }}-apiserver
users:
- user:
client-certificate-data: {{ b64enc .Values.schedulerEstimator.kubeconfig.crt }}
client-key-data: {{ b64enc .Values.schedulerEstimator.kubeconfig.key }}
name: {{ $clusterName }}-apiserver
contexts:
- context:
cluster: {{ $clusterName }}-apiserver
user: {{ $clusterName }}-apiserver
name: {{ $clusterName }}-apiserver
current-context: {{ $clusterName }}-apiserver
{{- end }}