Skip to content

Commit 1ea336b

Browse files
authored
Merge pull request #87 from bcho/feat/leader-election
Enable leader election in csi components
2 parents cbf1f07 + f4dfb58 commit 1ea336b

File tree

8 files changed

+40
-18
lines changed

8 files changed

+40
-18
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,3 +69,6 @@ cscope.*
6969
/bazel-*
7070
*.pyc
7171
profile.cov
72+
73+
# helm packaged chart
74+
/charts/*/*.tgz

charts/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ Quick start instructions for the setup and configuration of blobfuse CSI driver
1313
```console
1414
$ cd $GOPATH/src/sigs.k8s.io/blobfuse-csi-driver/charts/latest
1515
$ helm package blobfuse-csi-driver
16-
$ helm install blobfuse-csi-driver-latest.tgz --name blobfuse-csi-driver --namespace kube-system
16+
$ helm install blobfuse-csi-driver blobfuse-csi-driver-latest.tgz --namespace kube-system
1717
```
1818

1919
## Uninstall

charts/latest/blobfuse-csi-driver/templates/csi-blobfuse-controller.yaml

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
namespace: {{ .Release.Namespace }}
66
{{ include "blobfuse.labels" . | indent 2 }}
77
spec:
8-
replicas: 1
8+
replicas: {{ .Values.controller.replicas }}
99
selector:
1010
matchLabels:
1111
app: csi-blobfuse-controller
@@ -20,28 +20,32 @@ spec:
2020
priorityClassName: system-cluster-critical
2121
containers:
2222
- name: csi-provisioner
23-
image: quay.io/k8scsi/csi-provisioner:v1.0.1
23+
image: {{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}
2424
args:
2525
- "--provisioner=blobfuse.csi.azure.com"
2626
- "--csi-address=$(ADDRESS)"
2727
- "--connection-timeout=15s"
28+
- "--enable-leader-election"
29+
- "--leader-election-type=leases"
2830
env:
2931
- name: ADDRESS
3032
value: /csi/csi.sock
31-
imagePullPolicy: Always
33+
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
3234
volumeMounts:
3335
- mountPath: /csi
3436
name: socket-dir
3537
- name: csi-attacher
3638
image: "{{ .Values.image.csiAttacher.repository }}:{{ .Values.image.csiAttacher.tag }}"
3739
args:
38-
- --v=5
39-
- --csi-address=$(ADDRESS)
40-
- --timeout=120s
40+
- "-v=5"
41+
- "-csi-address=$(ADDRESS)"
42+
- "-timeout=120s"
43+
- "-leader-election"
44+
- "-leader-election-type=leases"
4145
env:
4246
- name: ADDRESS
4347
value: /csi/csi.sock
44-
imagePullPolicy: Always
48+
imagePullPolicy: {{ .Values.image.csiAttacher.pullPolicy }}
4549
volumeMounts:
4650
- mountPath: /csi
4751
name: socket-dir
@@ -54,6 +58,7 @@ spec:
5458
env:
5559
- name: ADDRESS
5660
value: /csi/csi.sock
61+
imagePullPolicy: {{ .Values.image.clusterDriverRegistrar.pullPolicy }}
5762
volumeMounts:
5863
- name: socket-dir
5964
mountPath: /csi
@@ -63,6 +68,7 @@ spec:
6368
- --csi-address=/csi/csi.sock
6469
- --connection-timeout=3s
6570
- --health-port=9802
71+
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
6672
volumeMounts:
6773
- name: socket-dir
6874
mountPath: /csi
@@ -89,7 +95,7 @@ spec:
8995
value: "/etc/kubernetes/azure.json"
9096
- name: CSI_ENDPOINT
9197
value: unix:///csi/csi.sock
92-
imagePullPolicy: {{ .Values.image.pullPolicy }}
98+
imagePullPolicy: {{ .Values.image.blobfuse.pullPolicy }}
9399
volumeMounts:
94100
- mountPath: /csi
95101
name: socket-dir

charts/latest/blobfuse-csi-driver/templates/csi-blobfuse-node.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ spec:
1919
priorityClassName: system-node-critical
2020
containers:
2121
- name: liveness-probe
22-
imagePullPolicy: Always
22+
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
2323
volumeMounts:
2424
- mountPath: /csi
2525
name: socket-dir

charts/latest/blobfuse-csi-driver/templates/rbac-csi-blobfuse-controller.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ rules:
146146
- apiGroups: ["apiextensions.k8s.io"]
147147
resources: ["customresourcedefinitions"]
148148
verbs: ["create", "list", "watch", "delete"]
149+
- apiGroups: ["coordination.k8s.io"]
150+
resources: ["leases"]
151+
verbs: ["get", "list", "watch", "create", "update", "patch"]
149152

150153
---
151154

charts/latest/blobfuse-csi-driver/values.yaml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@ image:
55
pullPolicy: Always
66
csiProvisioner:
77
repository: quay.io/k8scsi/csi-provisioner
8-
tag: v1.0.1
8+
tag: v1.4.0
99
pullPolicy: Always
1010
csiAttacher:
1111
repository: quay.io/k8scsi/csi-attacher
12-
tag: v1.0.1
12+
tag: v1.2.0
1313
pullPolicy: Always
1414
clusterDriverRegistrar:
1515
repository: quay.io/k8scsi/csi-cluster-driver-registrar
@@ -29,3 +29,6 @@ serviceAccount:
2929

3030
rbac:
3131
create: true
32+
33+
controller:
34+
replicas: 3

deploy/csi-blobfuse-controller.yaml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
name: csi-blobfuse-controller
66
namespace: kube-system
77
spec:
8-
replicas: 1
8+
replicas: 3
99
selector:
1010
matchLabels:
1111
app: csi-blobfuse-controller
@@ -20,11 +20,13 @@ spec:
2020
priorityClassName: system-cluster-critical
2121
containers:
2222
- name: csi-provisioner
23-
image: quay.io/k8scsi/csi-provisioner:v1.0.1
23+
image: quay.io/k8scsi/csi-provisioner:v1.4.0
2424
args:
2525
- "--provisioner=blobfuse.csi.azure.com"
2626
- "--csi-address=$(ADDRESS)"
2727
- "--connection-timeout=15s"
28+
- "--enable-leader-election"
29+
- "--leader-election-type=leases"
2830
env:
2931
- name: ADDRESS
3032
value: /csi/csi.sock
@@ -33,11 +35,13 @@ spec:
3335
- mountPath: /csi
3436
name: socket-dir
3537
- name: csi-attacher
36-
image: quay.io/k8scsi/csi-attacher:v1.0.1
38+
image: quay.io/k8scsi/csi-attacher:v1.2.0
3739
args:
38-
- --v=5
39-
- --csi-address=$(ADDRESS)
40-
- --timeout=120s
40+
- "-v=5"
41+
- "-csi-address=$(ADDRESS)"
42+
- "-timeout=120s"
43+
- "-leader-election"
44+
- "-leader-election-type=leases"
4145
env:
4246
- name: ADDRESS
4347
value: /csi/csi.sock

deploy/rbac-csi-blobfuse-controller.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,9 @@ rules:
142142
- apiGroups: ["apiextensions.k8s.io"]
143143
resources: ["customresourcedefinitions"]
144144
verbs: ["create", "list", "watch", "delete"]
145+
- apiGroups: ["coordination.k8s.io"]
146+
resources: ["leases"]
147+
verbs: ["get", "list", "watch", "create", "update", "patch"]
145148

146149
---
147150

0 commit comments

Comments
 (0)