Skip to content

Commit 1408f05

Browse files
committed
enabling leader election in stable overlay
1 parent b4252c5 commit 1408f05

File tree

6 files changed

+61
-128
lines changed

6 files changed

+61
-128
lines changed

deploy/kubernetes/base/controller.yaml

+30-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
kind: StatefulSet
1+
kind: Deployment
22
apiVersion: apps/v1
33
metadata:
44
name: csi-gce-pd-controller
55
spec:
6-
serviceName: "csi-gce-pd"
76
replicas: 1
87
selector:
98
matchLabels:
@@ -28,8 +27,16 @@ spec:
2827
- "--csi-address=/csi/csi.sock"
2928
- "--feature-gates=Topology=true"
3029
- "--metrics-address=:22011"
30+
- "--enable-leader-election"
31+
- "--leader-election-type=leases"
32+
- "--leader-election-namespace=$(PDCSI_NAMESPACE)"
3133
# - "--run-controller-service=false" # disable the controller service of the CSI driver
3234
# - "--run-node-service=false" # disable the node service of the CSI driver
35+
env:
36+
- name: PDCSI_NAMESPACE
37+
valueFrom:
38+
fieldRef:
39+
fieldPath: metadata.namespace
3340
volumeMounts:
3441
- name: socket-dir
3542
mountPath: /csi
@@ -39,6 +46,13 @@ spec:
3946
- "--v=5"
4047
- "--csi-address=/csi/csi.sock"
4148
- "--metrics-address=:22012"
49+
- "--leader-election"
50+
- "--leader-election-namespace=$(PDCSI_NAMESPACE)"
51+
env:
52+
- name: PDCSI_NAMESPACE
53+
valueFrom:
54+
fieldRef:
55+
fieldPath: metadata.namespace
4256
volumeMounts:
4357
- name: socket-dir
4458
mountPath: /csi
@@ -48,6 +62,13 @@ spec:
4862
- "--v=5"
4963
- "--csi-address=/csi/csi.sock"
5064
- "--metrics-address=:22013"
65+
- "--leader-election"
66+
- "--leader-election-namespace=$(PDCSI_NAMESPACE)"
67+
env:
68+
- name: PDCSI_NAMESPACE
69+
valueFrom:
70+
fieldRef:
71+
fieldPath: metadata.namespace
5172
volumeMounts:
5273
- name: socket-dir
5374
mountPath: /csi
@@ -57,6 +78,13 @@ spec:
5778
- "--v=5"
5879
- "--csi-address=/csi/csi.sock"
5980
- "--metrics-address=:22014"
81+
- "--leader-election"
82+
- "--leader-election-namespace=$(PDCSI_NAMESPACE)"
83+
env:
84+
- name: PDCSI_NAMESPACE
85+
valueFrom:
86+
fieldRef:
87+
fieldPath: metadata.namespace
6088
volumeMounts:
6189
- name: socket-dir
6290
mountPath: /csi
@@ -82,5 +110,3 @@ spec:
82110
- name: cloud-sa-volume
83111
secret:
84112
secretName: cloud-sa
85-
# This is needed due to https://github.com/kubernetes-sigs/kustomize/issues/504
86-
volumeClaimTemplates: []

deploy/kubernetes/base/setup-cluster.yaml

+31
Original file line numberDiff line numberDiff line change
@@ -231,3 +231,34 @@ roleRef:
231231
kind: ClusterRole
232232
name: csi-gce-pd-snapshotter-role
233233
apiGroup: rbac.authorization.k8s.io
234+
235+
---
236+
237+
kind: Role
238+
apiVersion: rbac.authorization.k8s.io/v1
239+
metadata:
240+
name: csi-gce-pd-leaderelection-role
241+
namespace: gce-pd-csi-driver
242+
labels:
243+
k8s-app: gcp-compute-persistent-disk-csi-driver
244+
rules:
245+
- apiGroups: ["coordination.k8s.io"]
246+
resources: ["leases"]
247+
verbs: ["get", "watch", "list", "delete", "update", "create"]
248+
249+
---
250+
251+
kind: RoleBinding
252+
apiVersion: rbac.authorization.k8s.io/v1
253+
metadata:
254+
name: csi-gce-pd-controller-leaderelection-binding
255+
namespace: gce-pd-csi-driver
256+
labels:
257+
k8s-app: gcp-compute-persistent-disk-csi-driver
258+
subjects:
259+
- kind: ServiceAccount
260+
name: csi-gce-pd-controller-sa
261+
roleRef:
262+
kind: Role
263+
name: csi-gce-pd-leaderelection-role
264+
apiGroup: rbac.authorization.k8s.io

deploy/kubernetes/overlays/prow-gke-release-staging-rc/enable-leader-election.yaml

-74
This file was deleted.

deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml

-17
Original file line numberDiff line numberDiff line change
@@ -21,20 +21,3 @@ images:
2121
- name: gke.gcr.io/csi-snapshotter
2222
newName: gcr.io/gke-release-staging/csi-snapshotter
2323
newTag: "v2.1.1-gke.0"
24-
25-
resources:
26-
- leader-election-rbac.yaml
27-
28-
patchesJson6902:
29-
- target:
30-
group: apps
31-
version: v1
32-
kind: StatefulSet
33-
name: csi-gce-pd-controller
34-
path: enable-leader-election.yaml
35-
- target:
36-
group: apps
37-
version: v1
38-
kind: StatefulSet
39-
name: csi-gce-pd-controller
40-
path: statefulset-to-deployment.yaml

deploy/kubernetes/overlays/prow-gke-release-staging-rc/leader-election-rbac.yaml

-26
This file was deleted.

deploy/kubernetes/overlays/prow-gke-release-staging-rc/statefulset-to-deployment.yaml

-7
This file was deleted.

0 commit comments

Comments
 (0)