diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc/enable-leader-election.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/enable-leader-election.yaml new file mode 100644 index 000000000..35c47f056 --- /dev/null +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/enable-leader-election.yaml @@ -0,0 +1,74 @@ +# for external-provisioner +- op: add + path: /spec/template/spec/containers/0/args/- + value: "--enable-leader-election" + +- op: add + path: /spec/template/spec/containers/0/args/- + value: "--leader-election-type=leases" + +- op: add + path: /spec/template/spec/containers/0/args/- + value: "--leader-election-namespace=$(PDCSI_NAMESPACE)" + +- op: add + path: /spec/template/spec/containers/0/env + value: + - name: PDCSI_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + + +# # for external-attacher +- op: add + path: /spec/template/spec/containers/1/args/- + value: "--leader-election" + +- op: add + path: /spec/template/spec/containers/1/args/- + value: "--leader-election-namespace=$(PDCSI_NAMESPACE)" + +- op: add + path: /spec/template/spec/containers/1/env + value: + - name: PDCSI_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + + +# # for external-resizer +- op: add + path: /spec/template/spec/containers/2/args/- + value: "--leader-election" + +- op: add + path: /spec/template/spec/containers/2/args/- + value: "--leader-election-namespace=$(PDCSI_NAMESPACE)" + +- op: add + path: /spec/template/spec/containers/2/env + value: + - name: PDCSI_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace + + +# for external-snapshotter +- op: add + path: /spec/template/spec/containers/3/args/- + value: "--leader-election" + +- op: add + path: /spec/template/spec/containers/3/args/- + value: "--leader-election-namespace=$(PDCSI_NAMESPACE)" + +- op: add + path: /spec/template/spec/containers/3/env + value: + - name: PDCSI_NAMESPACE + valueFrom: + fieldRef: + fieldPath: metadata.namespace diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml index 2841b734e..2bc50801c 100644 --- a/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/kustomization.yaml @@ -21,3 +21,20 @@ images: - name: gke.gcr.io/csi-snapshotter newName: gcr.io/gke-release-staging/csi-snapshotter newTag: "v2.1.1-gke.0" + +resources: +- leader-election-rbac.yaml + +patchesJson6902: +- target: + group: apps + version: v1 + kind: StatefulSet + name: csi-gce-pd-controller + path: enable-leader-election.yaml +- target: + group: apps + version: v1 + kind: StatefulSet + name: csi-gce-pd-controller + path: statefulset-to-deployment.yaml diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc/leader-election-rbac.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/leader-election-rbac.yaml new file mode 100644 index 000000000..31e474913 --- /dev/null +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/leader-election-rbac.yaml @@ -0,0 +1,26 @@ +kind: Role +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-gce-pd-leaderelection-role + namespace: gce-pd-csi-driver + labels: + k8s-app: gcp-compute-persistent-disk-csi-driver +rules: +- apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "watch", "list", "delete", "update", "create"] +--- +kind: RoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-gce-pd-controller-leaderelection-binding + namespace: gce-pd-csi-driver + labels: + k8s-app: gcp-compute-persistent-disk-csi-driver +subjects: +- kind: ServiceAccount + name: csi-gce-pd-controller-sa +roleRef: + kind: Role + name: csi-gce-pd-leaderelection-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc/statefulset-to-deployment.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/statefulset-to-deployment.yaml new file mode 100644 index 000000000..2800387f8 --- /dev/null +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc/statefulset-to-deployment.yaml @@ -0,0 +1,7 @@ +- op: remove + path: "/spec/serviceName" +- op: remove + path: "/spec/volumeClaimTemplates" +- op: replace + path: /kind + value: Deployment