From 7835609b0602f3dfbb349c8d6dcd91f08f34a505 Mon Sep 17 00:00:00 2001 From: Madhu Rajanna Date: Tue, 5 May 2020 13:58:39 +0530 Subject: [PATCH] set priorityclass on provisioner pods set system-cluster-critical priorityclass on provisioner pods. the system-cluster-critical is having lowest priority compared to node-critical. Signed-off-by: Madhu Rajanna --- .../ceph-csi-cephfs/templates/provisioner-deployment.yaml | 3 +++ charts/ceph-csi-cephfs/values.yaml | 8 ++++++++ charts/ceph-csi-rbd/templates/provisioner-deployment.yaml | 3 +++ charts/ceph-csi-rbd/values.yaml | 7 +++++++ .../cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml | 1 + deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml | 1 + 6 files changed, 23 insertions(+) diff --git a/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml b/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml index dbf14b7d7..72054f7f4 100644 --- a/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml +++ b/charts/ceph-csi-cephfs/templates/provisioner-deployment.yaml @@ -42,6 +42,9 @@ spec: topologyKey: "kubernetes.io/hostname" {{- end }} serviceAccountName: {{ include "ceph-csi-cephfs.serviceAccountName.provisioner" . }} +{{- if .Values.provisioner.priorityClassName }} + priorityClassName: {{ .Values.provisioner.priorityClassName }} +{{- end }} containers: - name: csi-provisioner image: "{{ .Values.provisioner.provisioner.image.repository }}:{{ .Values.provisioner.provisioner.image.tag }}" diff --git a/charts/ceph-csi-cephfs/values.yaml b/charts/ceph-csi-cephfs/values.yaml index f50759c4e..dd0198042 100644 --- a/charts/ceph-csi-cephfs/values.yaml +++ b/charts/ceph-csi-cephfs/values.yaml @@ -39,6 +39,10 @@ nodeplugin: # if you are using ceph-fuse client set this value to OnDelete updateStrategy: RollingUpdate + # set user created priorityclassName for csi plugin pods. default is + # system-node-critical which is highest priority + priorityClassName: system-node-critical + httpMetrics: # Metrics only available for cephcsi/cephcsi => 1.2.0 # Specifies whether http metrics should be exposed @@ -105,6 +109,10 @@ provisioner: # Timeout for waiting for creation or deletion of a volume timeout: 60s + # set user created priorityclassName for csi provisioner pods. default is + # system-cluster-critical which is less priority than system-node-critical + priorityClassName: system-cluster-critical + httpMetrics: # Metrics only available for cephcsi/cephcsi => 1.2.0 # Specifies whether http metrics should be exposed diff --git a/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml b/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml index 0efab99fa..33527fb9c 100644 --- a/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml +++ b/charts/ceph-csi-rbd/templates/provisioner-deployment.yaml @@ -42,6 +42,9 @@ spec: topologyKey: "kubernetes.io/hostname" {{- end }} serviceAccountName: {{ include "ceph-csi-rbd.serviceAccountName.provisioner" . }} +{{- if .Values.provisioner.priorityClassName }} + priorityClassName: {{ .Values.provisioner.priorityClassName }} +{{- end }} containers: - name: csi-provisioner image: "{{ .Values.provisioner.provisioner.image.repository }}:{{ .Values.provisioner.provisioner.image.tag }}" diff --git a/charts/ceph-csi-rbd/values.yaml b/charts/ceph-csi-rbd/values.yaml index 6125f38ed..2860c746f 100644 --- a/charts/ceph-csi-rbd/values.yaml +++ b/charts/ceph-csi-rbd/values.yaml @@ -48,6 +48,9 @@ logLevel: 5 nodeplugin: name: nodeplugin + # set user created priorityclassName for csi plugin pods. default is + # system-node-critical which is high priority + priorityClassName: system-node-critical # if you are using rbd-nbd client set this value to OnDelete updateStrategy: RollingUpdate @@ -131,6 +134,10 @@ provisioner: # which has the deep-flatten feature # skipForceFlatten: false + # set user created priorityclassName for csi provisioner pods. default is + # system-cluster-critical which is less priority than system-node-critical + priorityClassName: system-cluster-critical + httpMetrics: # Metrics only available for cephcsi/cephcsi => 1.2.0 # Specifies whether http metrics should be exposed diff --git a/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml b/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml index 4e6e21f34..39d325d31 100644 --- a/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml +++ b/deploy/cephfs/kubernetes/csi-cephfsplugin-provisioner.yaml @@ -40,6 +40,7 @@ spec: - csi-cephfsplugin-provisioner topologyKey: "kubernetes.io/hostname" serviceAccount: cephfs-csi-provisioner + priorityClassName: system-cluster-critical containers: - name: csi-provisioner image: k8s.gcr.io/sig-storage/csi-provisioner:v2.0.4 diff --git a/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml b/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml index 4e819acad..f6457c1a9 100644 --- a/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml +++ b/deploy/rbd/kubernetes/csi-rbdplugin-provisioner.yaml @@ -40,6 +40,7 @@ spec: - csi-rbdplugin-provisioner topologyKey: "kubernetes.io/hostname" serviceAccount: rbd-csi-provisioner + priorityClassName: system-cluster-critical containers: - name: csi-provisioner image: k8s.gcr.io/sig-storage/csi-provisioner:v2.0.4