Merge pull request #5394 from Madhu-1/csi-prio
CSI: Set PriorityClassName for CSI pods
This commit is contained in:
12 files changed
+75
-18
No files matched your search
@@ -119,6 +119,8 @@ The following tables lists the configurable parameters of the rook-operator char
|
||||
| `discover.nodeAffinity` | The node labels for affinity of `discover-agent` (***) | <none> |
|
||||
| `csi.enableRbdDriver` | Enable Ceph CSI RBD driver. | `true` |
|
||||
| `csi.enableCephfsDriver` | Enable Ceph CSI CephFS driver. | `true` |
|
||||
| `csi.pluginPriorityClassName` | PriorityClassName to be set on csi driver plugin pods. | <none> |
|
||||
| `csi.provisionerPriorityClassName` | PriorityClassName to be set on csi driver provisioner pods. | <none> |
|
||||
| `csi.logLevel` | Set logging level for csi containers. Supported values from 0 to 5. 0 for general useful logs, 5 for trace level verbosity. | `0` |
|
||||
| `csi.enableGrpcMetrics` | Enable Ceph CSI GRPC Metrics. | `true` |
|
||||
| `csi.provisionerTolerations` | Array of tolerations in YAML format which will be added to CSI provisioner deployment. | <none> |
|
||||
|
||||
@@ -108,6 +108,10 @@ spec:
|
||||
value: {{ .Values.csi.enableCephfsDriver | quote }}
|
||||
- name: CSI_ENABLE_SNAPSHOTTER
|
||||
value: {{ .Values.csi.enableSnapshotter | quote }}
|
||||
- name: CSI_PLUGIN_PRIORITY_CLASSNAME
|
||||
value: {{ .Values.csi.pluginPriorityClassName | quote }}
|
||||
- name: CSI_PROVISIONER_PRIORITY_CLASSNAME
|
||||
value: {{ .Values.csi.provisionerPriorityClassName | quote }}
|
||||
{{- if .Values.csi.cephFSPluginUpdateStrategy }}
|
||||
- name: CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY
|
||||
value: {{ .Values.csi.cephFSPluginUpdateStrategy | quote }}
|
||||
|
||||
@@ -58,6 +58,12 @@ csi:
|
||||
enableCephfsDriver: true
|
||||
enableGrpcMetrics: true
|
||||
enableSnapshotter: true
|
||||
# (Optional) set user created priorityclassName for csi plugin pods.
|
||||
# pluginPriorityClassName: system-node-critical
|
||||
|
||||
# (Optional) set user created priorityclassName for csi provisioner pods.
|
||||
# provisionerPriorityClassName: system-cluster-critical
|
||||
|
||||
# Set logging level for csi containers.
|
||||
# Supported values from 0 to 5. 0 for general useful logs, 5 for trace level verbosity.
|
||||
#logLevel: 0
|
||||
|
||||
+3
@@ -15,6 +15,9 @@ spec:
|
||||
contains: csi-cephfsplugin-metrics
|
||||
spec:
|
||||
serviceAccount: rook-csi-cephfs-provisioner-sa
|
||||
{{ if .ProvisionerPriorityClassName }}
|
||||
priorityClassName: {{ .ProvisionerPriorityClassName }}
|
||||
{{ end }}
|
||||
containers:
|
||||
- name: csi-attacher
|
||||
image: {{ .AttacherImage }}
|
||||
|
||||
+3
@@ -16,6 +16,9 @@ spec:
|
||||
contains: csi-cephfsplugin-metrics
|
||||
spec:
|
||||
serviceAccount: rook-csi-cephfs-provisioner-sa
|
||||
{{ if .ProvisionerPriorityClassName }}
|
||||
priorityClassName: {{ .ProvisionerPriorityClassName }}
|
||||
{{ end }}
|
||||
containers:
|
||||
- name: csi-attacher
|
||||
image: {{ .AttacherImage }}
|
||||
|
||||
@@ -17,6 +17,9 @@ spec:
|
||||
spec:
|
||||
serviceAccount: rook-csi-cephfs-plugin-sa
|
||||
hostNetwork: true
|
||||
{{ if .PluginPriorityClassName }}
|
||||
priorityClassName: {{ .PluginPriorityClassName }}
|
||||
{{ end }}
|
||||
# to use e.g. Rook orchestrated cluster, and mons' FQDN is
|
||||
# resolved through k8s service, set dns policy to cluster first
|
||||
dnsPolicy: ClusterFirstWithHostNet
|
||||
|
||||
@@ -15,6 +15,9 @@ spec:
|
||||
contains: csi-rbdplugin-metrics
|
||||
spec:
|
||||
serviceAccount: rook-csi-rbd-provisioner-sa
|
||||
{{ if .ProvisionerPriorityClassName }}
|
||||
priorityClassName: {{ .ProvisionerPriorityClassName }}
|
||||
{{ end }}
|
||||
containers:
|
||||
- name: csi-provisioner
|
||||
image: {{ .ProvisionerImage }}
|
||||
|
||||
@@ -16,6 +16,9 @@ spec:
|
||||
contains: csi-rbdplugin-metrics
|
||||
spec:
|
||||
serviceAccount: rook-csi-rbd-provisioner-sa
|
||||
{{ if .ProvisionerPriorityClassName }}
|
||||
priorityClassName: {{ .ProvisionerPriorityClassName }}
|
||||
{{ end }}
|
||||
containers:
|
||||
- name: csi-provisioner
|
||||
image: {{ .ProvisionerImage }}
|
||||
|
||||
@@ -16,6 +16,9 @@ spec:
|
||||
contains: csi-rbdplugin-metrics
|
||||
spec:
|
||||
serviceAccount: rook-csi-rbd-plugin-sa
|
||||
{{ if .PluginPriorityClassName }}
|
||||
priorityClassName: {{ .PluginPriorityClassName }}
|
||||
{{ end }}
|
||||
hostNetwork: true
|
||||
hostPID: true
|
||||
# to use e.g. Rook orchestrated cluster, and mons' FQDN is
|
||||
|
||||
@@ -129,6 +129,12 @@ data:
|
||||
# ROOK_CSI_SNAPSHOTTER_IMAGE: "quay.io/k8scsi/csi-snapshotter:v1.2.2"
|
||||
# ROOK_CSI_ATTACHER_IMAGE: "quay.io/k8scsi/csi-attacher:v2.1.0"
|
||||
|
||||
# (Optional) set user created priorityclassName for csi plugin pods.
|
||||
# CSI_PLUGIN_PRIORITY_CLASSNAME="system-node-critical"
|
||||
|
||||
# (Optional) set user created priorityclassName for csi provisioner pods.
|
||||
# CSI_PROVISIONER_PRIORITY_CLASSNAME="system-cluster-critical"
|
||||
|
||||
# CSI CephFS plugin daemonset update strategy, supported values are OnDelete and RollingUpdate.
|
||||
# Default value is RollingUpdate.
|
||||
# CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY: "OnDelete"
|
||||
|
||||
@@ -53,6 +53,12 @@ data:
|
||||
# ROOK_CSI_SNAPSHOTTER_IMAGE: "quay.io/k8scsi/csi-snapshotter:v1.2.2"
|
||||
# ROOK_CSI_ATTACHER_IMAGE: "quay.io/k8scsi/csi-attacher:v2.1.0"
|
||||
|
||||
# (Optional) set user created priorityclassName for csi plugin pods.
|
||||
# CSI_PLUGIN_PRIORITY_CLASSNAME="system-node-critical"
|
||||
|
||||
# (Optional) set user created priorityclassName for csi provisioner pods.
|
||||
# CSI_PROVISIONER_PRIORITY_CLASSNAME="system-cluster-critical"
|
||||
|
||||
# CSI CephFS plugin daemonset update strategy, supported values are OnDelete and RollingUpdate.
|
||||
# Default value is RollingUpdate.
|
||||
# CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY: "OnDelete"
|
||||
|
||||
@@ -40,24 +40,26 @@ import (
|
||||
)
|
||||
|
||||
type Param struct {
|
||||
CSIPluginImage string
|
||||
RegistrarImage string
|
||||
ProvisionerImage string
|
||||
AttacherImage string
|
||||
SnapshotterImage string
|
||||
ResizerImage string
|
||||
DriverNamePrefix string
|
||||
EnableSnapshotter string
|
||||
EnableCSIGRPCMetrics string
|
||||
KubeletDirPath string
|
||||
ForceCephFSKernelClient string
|
||||
CephFSPluginUpdateStrategy string
|
||||
RBDPluginUpdateStrategy string
|
||||
LogLevel uint8
|
||||
CephFSGRPCMetricsPort uint16
|
||||
CephFSLivenessMetricsPort uint16
|
||||
RBDGRPCMetricsPort uint16
|
||||
RBDLivenessMetricsPort uint16
|
||||
CSIPluginImage string
|
||||
RegistrarImage string
|
||||
ProvisionerImage string
|
||||
AttacherImage string
|
||||
SnapshotterImage string
|
||||
ResizerImage string
|
||||
DriverNamePrefix string
|
||||
EnableSnapshotter string
|
||||
EnableCSIGRPCMetrics string
|
||||
KubeletDirPath string
|
||||
ForceCephFSKernelClient string
|
||||
CephFSPluginUpdateStrategy string
|
||||
RBDPluginUpdateStrategy string
|
||||
PluginPriorityClassName string
|
||||
ProvisionerPriorityClassName string
|
||||
LogLevel uint8
|
||||
CephFSGRPCMetricsPort uint16
|
||||
CephFSLivenessMetricsPort uint16
|
||||
RBDGRPCMetricsPort uint16
|
||||
RBDLivenessMetricsPort uint16
|
||||
}
|
||||
|
||||
type templateParam struct {
|
||||
@@ -273,6 +275,19 @@ func StartCSIDrivers(namespace string, clientset kubernetes.Interface, ver *vers
|
||||
tp.EnableSnapshotter = "true"
|
||||
}
|
||||
|
||||
// default value `system-node-critical` is the highest available priority
|
||||
tp.PluginPriorityClassName, err = k8sutil.GetOperatorSetting(clientset, controllerutil.OperatorSettingConfigMapName, "CSI_PLUGIN_PRIORITY_CLASSNAME", "")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to load CSI_PLUGIN_PRIORITY_CLASSNAME setting")
|
||||
}
|
||||
|
||||
// default value `system-cluster-critical` is applied for some
|
||||
// critical pods in cluster but less priority than plugin pods
|
||||
tp.ProvisionerPriorityClassName, err = k8sutil.GetOperatorSetting(clientset, controllerutil.OperatorSettingConfigMapName, "CSI_PROVISIONER_PRIORITY_CLASSNAME", "")
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to load CSI_PROVISIONER_PRIORITY_CLASSNAME setting")
|
||||
}
|
||||
|
||||
updateStrategy, err := k8sutil.GetOperatorSetting(clientset, controllerutil.OperatorSettingConfigMapName, "CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY", rollingUpdate)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "failed to load CSI_CEPHFS_PLUGIN_UPDATE_STRATEGY setting")
|
||||
|
||||
Reference in new issue
Block a user