Merge pull request #1610 from Poor12/add-desheduler
add karmada_descheduler for helm
This commit is contained in:
commit
082c3e182d
|
@ -33,6 +33,21 @@ $ kubectl get secret -n karmada-system karmada-kubeconfig -o jsonpath={.data.kub
|
||||||
|
|
||||||
> **Tip**: List all releases using `helm list`
|
> **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
|
## Uninstalling the Chart
|
||||||
To uninstall/delete the `karmada` helm release in namespace `karmada-system`:
|
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
|
$ helm install karmada-agent -n karmada-system --create-namespace ./charts
|
||||||
```
|
```
|
||||||
### 2. Install component
|
### 2. Install component
|
||||||
Edited values.yaml
|
Edited values.yaml for karmada-scheduler-estimator
|
||||||
```YAML
|
```YAML
|
||||||
installMode: "component"
|
installMode: "component"
|
||||||
components: [
|
components: [
|
||||||
|
@ -108,6 +123,7 @@ Execute command (switch to the `root` directory of the repo, and sets the `curre
|
||||||
$ kubectl config use-context host
|
$ kubectl config use-context host
|
||||||
$ helm install karmada-scheduler-estimator -n karmada-system ./charts
|
$ helm install karmada-scheduler-estimator -n karmada-system ./charts
|
||||||
```
|
```
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
|------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|
|
||||||
|
|
|
@ -118,6 +118,33 @@ app: {{$name}}-scheduler
|
||||||
{{- end -}}
|
{{- 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" -}}
|
{{- define "karmada.webhook.labels" -}}
|
||||||
{{ $name := include "karmada.name" .}}
|
{{ $name := include "karmada.name" .}}
|
||||||
{{- if .Values.webhook.labels }}
|
{{- 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: []
|
||||||
# components: [
|
# components: [
|
||||||
# "schedulerEstimator"
|
# "schedulerEstimator"
|
||||||
|
# "descheduler"
|
||||||
# ]
|
# ]
|
||||||
|
|
||||||
## pre-install job config
|
## pre-install job config
|
||||||
|
@ -547,3 +548,47 @@ schedulerEstimator:
|
||||||
rollingUpdate:
|
rollingUpdate:
|
||||||
maxUnavailable: 0
|
maxUnavailable: 0
|
||||||
maxSurge: 50%
|
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