Skip to content

Commit 4eed2a6

Browse files
authored
Merge pull request rook#15433 from SkalaNetworks/master
fix(csi-addons): bind cephfs and rbd provisionners on non-colliding p…
2 parents 84fc8af + d3c3d25 commit 4eed2a6

File tree

8 files changed

+45
-10
lines changed

8 files changed

+45
-10
lines changed

Documentation/Helm-Charts/operator-chart.md

+2
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,9 @@ The following table lists the configurable parameters of the rook-operator chart
6767
| `csi.csiAddons.enabled` | Enable CSIAddons | `false` |
6868
| `csi.csiAddons.repository` | CSIAddons sidecar image repository | `"quay.io/csiaddons/k8s-sidecar"` |
6969
| `csi.csiAddons.tag` | CSIAddons sidecar image tag | `"v0.11.0"` |
70+
| `csi.csiAddonsCephFSProvisionerPort` | CSI Addons server port for the Ceph FS provisioner | `9070` |
7071
| `csi.csiAddonsPort` | CSI Addons server port | `9070` |
72+
| `csi.csiAddonsRBDProvisionerPort` | CSI Addons server port for the RBD provisioner | `9070` |
7173
| `csi.csiCephFSPluginResource` | CEPH CSI CephFS plugin resource requirement list | see values.yaml |
7274
| `csi.csiCephFSPluginVolume` | The volume of the CephCSI CephFS plugin DaemonSet | `nil` |
7375
| `csi.csiCephFSPluginVolumeMount` | The volume mounts of the CephCSI CephFS plugin DaemonSet | `nil` |

deploy/charts/rook-ceph/templates/configmap.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,12 @@ data:
208208
{{- if .Values.csi.csiAddonsPort }}
209209
CSIADDONS_PORT: {{ .Values.csi.csiAddonsPort | quote }}
210210
{{- end }}
211+
{{- if .Values.csi.csiAddonsRBDProvisionerPort }}
212+
CSIADDONS_RBD_PROVISIONER_PORT: {{ .Values.csi.csiAddonsRBDProvisionerPort | quote }}
213+
{{- end }}
214+
{{- if .Values.csi.csiAddonsCephFSProvisionerPort }}
215+
CSIADDONS_CEPHFS_PROVISIONER_PORT: {{ .Values.csi.csiAddonsCephFSProvisionerPort | quote }}
216+
{{- end }}
211217
{{- if .Values.csi.forceCephFSKernelClient }}
212218
CSI_FORCE_CEPHFS_KERNEL_CLIENT: {{ .Values.csi.forceCephFSKernelClient | quote }}
213219
{{- end }}

deploy/charts/rook-ceph/values.yaml

+6
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,12 @@ csi:
443443
# -- CSI Addons server port
444444
# @default -- `9070`
445445
csiAddonsPort:
446+
# -- CSI Addons server port for the RBD provisioner
447+
# @default -- `9070`
448+
csiAddonsRBDProvisionerPort:
449+
# -- CSI Addons server port for the Ceph FS provisioner
450+
# @default -- `9070`
451+
csiAddonsCephFSProvisionerPort:
446452

447453
# -- Enable Ceph Kernel clients on kernel < 4.17. If your kernel does not support quotas for CephFS
448454
# you may want to disable this setting. However, this will cause an issue during upgrades

deploy/examples/operator.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -470,7 +470,12 @@ data:
470470
# CSI_CEPHFS_LIVENESS_METRICS_PORT: "9081"
471471
# Configure CSI RBD liveness metrics port
472472
# CSI_RBD_LIVENESS_METRICS_PORT: "9080"
473+
474+
# We can override the ports for each individual component that uses the CSIADDONS sidecar
475+
# This is useful if we're running in hostNetwork, where ports may conflict on the same host
473476
# CSIADDONS_PORT: "9070"
477+
# CSIADDONS_RBD_PROVISIONER_PORT: "9070"
478+
# CSIADDONS_CEPHFS_PROVISIONER_PORT: "9070"
474479

475480
# Set CephFS Kernel mount options to use https://docs.ceph.com/en/latest/man/8/mount.ceph/#options
476481
# Set to "ms_mode=secure" when connections.encrypted is enabled in CephCluster CR

pkg/operator/ceph/csi/csi.go

+12
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,22 @@ func (r *ReconcileCSI) setParams() error {
9797
if err != nil {
9898
return errors.Wrap(err, "error getting CSI CephFS liveness metrics port.")
9999
}
100+
100101
CSIParam.CSIAddonsPort, err = getPortFromConfig(r.opConfig.Parameters, "CSIADDONS_PORT", DefaultCSIAddonsPort)
101102
if err != nil {
102103
return errors.Wrap(err, "failed to get CSI Addons port")
103104
}
105+
106+
CSIParam.CSIAddonsRBDProvisionerPort, err = getPortFromConfig(r.opConfig.Parameters, "CSIADDONS_RBD_PROVISIONER_PORT", DefaultCSIAddonsRBDProvisionerPort)
107+
if err != nil {
108+
return errors.Wrap(err, "failed to get CSI Addons port for RBD provisioner")
109+
}
110+
111+
CSIParam.CSIAddonsCephFSProvisionerPort, err = getPortFromConfig(r.opConfig.Parameters, "CSIADDONS_CEPHFS_PROVISIONER_PORT", DefaultCSIAddonsCephFSProvisionerPort)
112+
if err != nil {
113+
return errors.Wrap(err, "failed to get CSI Addons port for Ceph FS provisioner")
114+
}
115+
104116
CSIParam.RBDLivenessMetricsPort, err = getPortFromConfig(r.opConfig.Parameters, "CSI_RBD_LIVENESS_METRICS_PORT", DefaultRBDLivenessMerticsPort)
105117
if err != nil {
106118
return errors.Wrap(err, "error getting CSI RBD liveness metrics port.")

pkg/operator/ceph/csi/spec.go

+10-6
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ type Param struct {
8383
SidecarLogLevel uint8
8484
CephFSLivenessMetricsPort uint16
8585
CSIAddonsPort uint16
86+
CSIAddonsRBDProvisionerPort uint16
87+
CSIAddonsCephFSProvisionerPort uint16
8688
RBDLivenessMetricsPort uint16
8789
KubeApiBurst uint16
8890
KubeApiQPS float32
@@ -219,12 +221,14 @@ const (
219221
// kubelet directory path
220222
DefaultKubeletDirPath = "/var/lib/kubelet"
221223

222-
// grpc metrics and liveness port for cephfs and rbd
223-
DefaultCephFSGRPCMerticsPort uint16 = 9091
224-
DefaultCephFSLivenessMerticsPort uint16 = 9081
225-
DefaultRBDGRPCMerticsPort uint16 = 9090
226-
DefaultRBDLivenessMerticsPort uint16 = 9080
227-
DefaultCSIAddonsPort uint16 = 9070
224+
// gRPC metrics and liveness port for CephFS and RBD
225+
DefaultCephFSGRPCMerticsPort uint16 = 9091
226+
DefaultCephFSLivenessMerticsPort uint16 = 9081
227+
DefaultRBDGRPCMerticsPort uint16 = 9090
228+
DefaultRBDLivenessMerticsPort uint16 = 9080
229+
DefaultCSIAddonsPort uint16 = 9070
230+
DefaultCSIAddonsRBDProvisionerPort uint16 = 9070
231+
DefaultCSIAddonsCephFSProvisionerPort uint16 = 9070
228232

229233
// default log level for csi containers
230234
defaultLogLevel uint8 = 0

pkg/operator/ceph/csi/template/cephfs/csi-cephfsplugin-provisioner-dep.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ spec:
216216
- "--node-id=$(NODE_ID)"
217217
- "--v={{ .LogLevel }}"
218218
- "--csi-addons-address=$(CSIADDONS_ENDPOINT)"
219-
- "--controller-port={{ .CSIAddonsPort }}"
219+
- "--controller-port={{ .CSIAddonsCephFSProvisionerPort }}"
220220
- "--pod=$(POD_NAME)"
221221
- "--namespace=$(POD_NAMESPACE)"
222222
- "--pod-uid=$(POD_UID)"
@@ -231,7 +231,7 @@ spec:
231231
- "--log_file={{ .CsiLogRootPath }}/log/{{ .CsiComponentName }}/csi-addons.log"
232232
{{ end }}
233233
ports:
234-
- containerPort: {{ .CSIAddonsPort }}
234+
- containerPort: {{ .CSIAddonsCephFSProvisionerPort }}
235235
env:
236236
- name: NODE_ID
237237
valueFrom:

pkg/operator/ceph/csi/template/rbd/csi-rbdplugin-provisioner-dep.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ spec:
169169
- "--node-id=$(NODE_ID)"
170170
- "--v={{ .LogLevel }}"
171171
- "--csi-addons-address=$(CSIADDONS_ENDPOINT)"
172-
- "--controller-port={{ .CSIAddonsPort }}"
172+
- "--controller-port={{ .CSIAddonsRBDProvisionerPort }}"
173173
- "--pod=$(POD_NAME)"
174174
- "--namespace=$(POD_NAMESPACE)"
175175
- "--pod-uid=$(POD_UID)"
@@ -184,7 +184,7 @@ spec:
184184
- "--log_file={{ .CsiLogRootPath }}/log/{{ .CsiComponentName }}/csi-addons.log"
185185
{{ end }}
186186
ports:
187-
- containerPort: {{ .CSIAddonsPort }}
187+
- containerPort: {{ .CSIAddonsRBDProvisionerPort }}
188188
env:
189189
- name: NODE_ID
190190
valueFrom:

0 commit comments

Comments
 (0)