diff --git a/README.md b/README.md index 69e3e1a0f..152d0cdfc 100644 --- a/README.md +++ b/README.md @@ -57,7 +57,7 @@ Table of Contents ## Quick Start -The descheduler can be run as a Job or CronJob or Deployment inside of a k8s cluster. It has the +The descheduler can be run as a `Job`, `CronJob`, or `Deployment` inside of a k8s cluster. It has the advantage of being able to be run multiple times without needing user intervention. The descheduler pod is run as a critical pod in the `kube-system` namespace to avoid being evicted by itself or by the kubelet. diff --git a/kubernetes/deployment/deployment.yaml b/kubernetes/deployment/deployment.yaml index 74fbbc89d..304afd4e1 100644 --- a/kubernetes/deployment/deployment.yaml +++ b/kubernetes/deployment/deployment.yaml @@ -6,49 +6,49 @@ metadata: labels: app: descheduler spec: - replicas: 1 - selector: - matchLabels: + replicas: 1 + selector: + matchLabels: + app: descheduler + template: + metadata: + labels: app: descheduler - template: - metadata: - labels: - app: descheduler - spec: - priorityClassName: system-cluster-critical - serviceAccountName: descheduler-sa - containers: - - name: descheduler - image: k8s.gcr.io/descheduler/descheduler:v0.21.0 - imagePullPolicy: IfNotPresent - command: - - "/bin/descheduler" - args: - - "--policy-config-file" - - "/policy-dir/policy.yaml" - - "--descheduling-interval" - - "5m" - - "--v" - - "3" - ports: - - containerPort: 10258 - protocol: TCP - resources: - requests: - cpu: 500m - memory: 256Mi - securityContext: - allowPrivilegeEscalation: false - capabilities: - drop: - - ALL - privileged: false - readOnlyRootFilesystem: true - runAsNonRoot: true - volumeMounts: - - mountPath: /policy-dir - name: policy-volume - volumes: - - name: policy-volume - configMap: - name: descheduler-policy-configmap + spec: + priorityClassName: system-cluster-critical + serviceAccountName: descheduler-sa + containers: + - name: descheduler + image: k8s.gcr.io/descheduler/descheduler:v0.21.0 + imagePullPolicy: IfNotPresent + command: + - "/bin/descheduler" + args: + - "--policy-config-file" + - "/policy-dir/policy.yaml" + - "--descheduling-interval" + - "5m" + - "--v" + - "3" + ports: + - containerPort: 10258 + protocol: TCP + resources: + requests: + cpu: 500m + memory: 256Mi + securityContext: + allowPrivilegeEscalation: false + capabilities: + drop: + - ALL + privileged: false + readOnlyRootFilesystem: true + runAsNonRoot: true + volumeMounts: + - mountPath: /policy-dir + name: policy-volume + volumes: + - name: policy-volume + configMap: + name: descheduler-policy-configmap