add karmada_descheduler for helm
Signed-off-by: Poor12 <shentiecheng@huawei.com>
This commit is contained in:
parent
b88d35f64c
commit
8e20fb9f43
|
@ -33,6 +33,21 @@ $ kubectl get secret -n karmada-system karmada-kubeconfig -o jsonpath={.data.kub
|
|||
|
||||
> **Tip**: List all releases using `helm list`
|
||||
|
||||
For better scheduling effect, you can choose to install the `karmada-descheduler` component in the karmada controller plane. Link: [here](../docs/descheduler.md). The following is the specific installation guide.
|
||||
|
||||
Edited values.yaml for karmada-descheduler
|
||||
```YAML
|
||||
installMode: "component"
|
||||
components: [
|
||||
"descheduler"
|
||||
]
|
||||
```
|
||||
Execute command (switch to the `root` directory of the repo, and sets the `current-context` in a kubeconfig file)
|
||||
```console
|
||||
$ kubectl config use-context host
|
||||
$ helm install karmada-descheduler -n karmada-system ./charts
|
||||
```
|
||||
|
||||
## Uninstalling the Chart
|
||||
To uninstall/delete the `karmada` helm release in namespace `karmada-system`:
|
||||
|
||||
|
@ -79,7 +94,7 @@ $ kubectl config use-context member
|
|||
$ helm install karmada-agent -n karmada-system --create-namespace ./charts
|
||||
```
|
||||
### 2. Install component
|
||||
Edited values.yaml
|
||||
Edited values.yaml for karmada-scheduler-estimator
|
||||
```YAML
|
||||
installMode: "component"
|
||||
components: [
|
||||
|
@ -108,6 +123,7 @@ Execute command (switch to the `root` directory of the repo, and sets the `curre
|
|||
$ kubectl config use-context host
|
||||
$ helm install karmada-scheduler-estimator -n karmada-system ./charts
|
||||
```
|
||||
|
||||
## Configuration
|
||||
| Name | Description | Value |
|
||||
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||
|
|
|
@ -118,6 +118,33 @@ app: {{$name}}-scheduler
|
|||
{{- end -}}
|
||||
|
||||
|
||||
{{- define "karmada.descheduler.labels" -}}
|
||||
{{ $name := include "karmada.name" . }}
|
||||
{{- if .Values.descheduler.labels -}}
|
||||
{{- range $key, $value := .Values.descheduler.labels}}
|
||||
{{ $key }}: {{ $value }}
|
||||
{{- end -}}
|
||||
{{- else -}}
|
||||
app: {{$name}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "karmada.descheduler.podLabels" -}}
|
||||
{{ $name := include "karmada.name" .}}
|
||||
{{- if .Values.descheduler.podLabels }}
|
||||
{{- range $key, $value := .Values.descheduler.podLabels}}
|
||||
{{ $key }}: {{ $value }}
|
||||
{{- end}}
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
|
||||
{{- define "karmada.descheduler.kubeconfig.volume" -}}
|
||||
- name: kubeconfig-secret
|
||||
secret:
|
||||
secretName: karmada-kubeconfig
|
||||
{{- end -}}
|
||||
|
||||
|
||||
{{- define "karmada.webhook.labels" -}}
|
||||
{{ $name := include "karmada.name" .}}
|
||||
{{- if .Values.webhook.labels }}
|
||||
|
|
|
@ -0,0 +1,60 @@
|
|||
{{- $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 }}
|
|
@ -15,6 +15,7 @@ clusterDomain: "cluster.local"
|
|||
components: []
|
||||
# components: [
|
||||
# "schedulerEstimator"
|
||||
# "descheduler"
|
||||
# ]
|
||||
|
||||
## pre-install job config
|
||||
|
@ -547,3 +548,47 @@ schedulerEstimator:
|
|||
rollingUpdate:
|
||||
maxUnavailable: 0
|
||||
maxSurge: 50%
|
||||
|
||||
## descheduler config
|
||||
descheduler:
|
||||
## @param descheduler.labels
|
||||
labels:
|
||||
app: karmada-descheduler
|
||||
## @param descheduler.replicaCount target replicas
|
||||
replicaCount: 2
|
||||
## @param descheduler.podAnnotations
|
||||
podAnnotations: { }
|
||||
## @param descheduler.podLabels
|
||||
podLabels: { }
|
||||
## @param descheduler.imagePullSecrets
|
||||
imagePullSecrets: [ ]
|
||||
image:
|
||||
## @param descheduler.image.repository image of the descheduler
|
||||
repository: swr.ap-southeast-1.myhuaweicloud.com/karmada/karmada-descheduler
|
||||
## @param descheduler.image.pullPolicy pull policy of image
|
||||
pullPolicy: IfNotPresent
|
||||
## @param descheduler.image.tag overrides the image tag whose default is the latest
|
||||
tag: latest
|
||||
## @param descheduler.resources
|
||||
resources: { }
|
||||
# If you do want to specify resources, uncomment the following
|
||||
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
||||
# limits:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
# requests:
|
||||
# cpu: 100m
|
||||
# memory: 128Mi
|
||||
## @param descheduler.nodeSelector
|
||||
nodeSelector: { }
|
||||
## @param descheduler.affinity
|
||||
affinity: { }
|
||||
## @param descheduler.tolerations
|
||||
tolerations: [ ]
|
||||
# - key: node-role.kubernetes.io/master
|
||||
# operator: Exists
|
||||
strategy:
|
||||
type: RollingUpdate
|
||||
rollingUpdate:
|
||||
maxUnavailable: 0
|
||||
maxSurge: 50%
|
||||
|
|
Loading…
Reference in New Issue