diff --git a/README.md b/README.md index 4d0a27b36..90f43b898 100644 --- a/README.md +++ b/README.md @@ -33,19 +33,14 @@ This plugin is compatible with CSI versions [v1.2.0](https://github.com/containe The following table captures the compatibility matrix of the core persistent disk driver binary `gke.gcr.io/gcp-compute-persistent-disk-csi-driver` -| GCE PD CSI Driver\Kubernetes Version | 1.15 | 1.16 | 1.17+ | -|--------------------------------------|------|-------|-------| -| v0.2.x (alpha) | no | no | no | -| v0.3.x (beta) | yes | yes | yes | -| v0.4.x (beta) | yes | yes | yes | -| v0.5.x (beta) | yes | yes | yes | -| v0.6.x (beta) | yes | yes | yes | -| v0.7.x (beta) | yes | yes | yes | -| v1.0.x (ga) | yes | yes | yes | -| dev | yes | yes | yes | +| GCE PD CSI Driver\Kubernetes Version | 1.17+ | +|--------------------------------------|-------| +| v0.7.x (beta) | yes | +| v1.0.x (ga) | yes | +| dev | yes | The manifest bundle which captures all the driver components (driver pod which includes the containers csi-provisioner, csi-resizer, csi-snapshotter, gce-pd-driver, csi-driver-registrar; -csi driver object, rbacs, pod security policies etc) can be picked up from the master branch [overlays](deploy/kubernetes/overlays) directory. We structure the overlays directory, per minor version of kubernetes because not all driver components can be used with all kubernetes versions. For example volume snapshots are supported 1.17+ kubernetes versions thus [stable-1-16](deploy/kubernetes/overlays/stable-1-16) driver manifests does not contain the snapshotter sidecar. +csi driver object, rbacs, pod security policies etc) can be picked up from the master branch [overlays](deploy/kubernetes/overlays) directory. We structure the overlays directory, per minor version of kubernetes because not all driver components can be used with all kubernetes versions. For example, v1 CSIDriver resources are supported in 1.18+ only, so [stable-1-17](deploy/kubernetes/overlays/stable-1-17) driver manifests use the v1beta1 version. Example: @@ -84,10 +79,8 @@ GCE PD driver starts to support CSI Windows with [CSI Proxy] (https://github.com | Feature | Stage | Min Kubernetes Master Version | Min Kubernetes Nodes Version | Min Driver Version | Deployment Overlay | |-----------------|-------|-------------------------------|------------------------------|--------------------|--------------------| -| Snapshots | Alpha | 1.13 | Any | v0.3.0 | Alpha | | Snapshots | Beta | 1.17 | Any | v1.0.0 | stable-1-17, stable-1-18, stable-1-19, stable-master | -| Resize (Expand) | Alpha | 1.14 | 1.14 | v0.6.0 | Alpha | -| Resize (Expand) | Beta | 1.16 | 1.16 | v0.7.0 | stable-1-16, stable-1-17, stable-1-18, stable-1-19, stable-master | +| Resize (Expand) | Beta | 1.16 | 1.16 | v0.7.0 | stable-1-17, stable-1-18, stable-1-19, stable-master | | Windows* | Beta | 1.18 | 1.18 | v1.1.0 | stable-1-18, stable-1-19, stable-master | \* For Windows, it is recommended to use this driver with CSI proxy v0.2.2+. The master version of driver requires disk v1beta2 group, which is only available in CSI proxy v0.2.2+ diff --git a/deploy/kubernetes/base/controller/kustomization.yaml b/deploy/kubernetes/base/controller/kustomization.yaml index b94b187f2..e300499c8 100644 --- a/deploy/kubernetes/base/controller/kustomization.yaml +++ b/deploy/kubernetes/base/controller/kustomization.yaml @@ -5,5 +5,5 @@ namespace: resources: - cluster_setup.yaml - controller.yaml -- csidriver_info.yaml - psp.yaml +- v1_csidriver.yaml diff --git a/deploy/kubernetes/base/controller/v1_csidriver.yaml b/deploy/kubernetes/base/controller/v1_csidriver.yaml new file mode 100644 index 000000000..ed60b3d75 --- /dev/null +++ b/deploy/kubernetes/base/controller/v1_csidriver.yaml @@ -0,0 +1,7 @@ +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: pd.csi.storage.gke.io +spec: + attachRequired: true + podInfoOnMount: false diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-15/README.md b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-15/README.md deleted file mode 100644 index de722221a..000000000 --- a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-15/README.md +++ /dev/null @@ -1 +0,0 @@ -These overlays are intended to be only used by prow for CI testing. diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-15/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-15/kustomization.yaml deleted file mode 100644 index 5489ff0f8..000000000 --- a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-15/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: -- ../stable-1-15 -transformers: -- ../../images/prow-gke-release-staging-rc-1-15 diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-16/README.md b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-16/README.md deleted file mode 100644 index de722221a..000000000 --- a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-16/README.md +++ /dev/null @@ -1 +0,0 @@ -These overlays are intended to be only used by prow for CI testing. diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-16/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-16/kustomization.yaml deleted file mode 100644 index 96515ea0a..000000000 --- a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-16/kustomization.yaml +++ /dev/null @@ -1,6 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -resources: -- ../stable-1-16 -transformers: -- ../../images/prow-gke-release-staging-rc-1-16 diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/kustomization.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/kustomization.yaml index 71dde2105..8315e48b9 100644 --- a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/kustomization.yaml +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/kustomization.yaml @@ -2,5 +2,8 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - ../stable-1-17 +- v1beta1_csidriver.yaml +patchesStrategicMerge: +- no_v1_csidriver.yaml transformers: - ../../images/prow-gke-release-staging-rc-1-17 diff --git a/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/no_v1_csidriver.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/no_v1_csidriver.yaml new file mode 100644 index 000000000..b45cfc07a --- /dev/null +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/no_v1_csidriver.yaml @@ -0,0 +1,5 @@ +$patch: delete +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: pd.csi.storage.gke.io diff --git a/deploy/kubernetes/base/controller/csidriver_info.yaml b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/v1beta1_csidriver.yaml similarity index 66% rename from deploy/kubernetes/base/controller/csidriver_info.yaml rename to deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/v1beta1_csidriver.yaml index 8b82aa413..d15a496ba 100644 --- a/deploy/kubernetes/base/controller/csidriver_info.yaml +++ b/deploy/kubernetes/overlays/prow-gke-release-staging-rc-1-17/v1beta1_csidriver.yaml @@ -1,4 +1,3 @@ -#### TODO: This need to be updated to v1 once we official support 1.18+ apiVersion: storage.k8s.io/v1beta1 kind: CSIDriver metadata: diff --git a/deploy/kubernetes/overlays/stable-1-15/kustomization.yaml b/deploy/kubernetes/overlays/stable-1-15/kustomization.yaml deleted file mode 100644 index d39d41ed2..000000000 --- a/deploy/kubernetes/overlays/stable-1-15/kustomization.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: - gce-pd-csi-driver -resources: -- ../../base/controller -- ../../base/node_linux -patchesStrategicMerge: -- no_resizer_snapshotter_sidecar.yaml -- no_resizer_snapshotter_roles.yaml -- no_win_roles.yaml -patchesJson6902: -- target: - group: apps - version: v1 - kind: Deployment - name: csi-gce-pd-controller - path: metrics_leaderelection_endpoint.yaml -transformers: -- ../../images/stable-1-15 diff --git a/deploy/kubernetes/overlays/stable-1-15/metrics_leaderelection_endpoint.yaml b/deploy/kubernetes/overlays/stable-1-15/metrics_leaderelection_endpoint.yaml deleted file mode 100644 index 47eedc07d..000000000 --- a/deploy/kubernetes/overlays/stable-1-15/metrics_leaderelection_endpoint.yaml +++ /dev/null @@ -1,22 +0,0 @@ -# for external-provisioner -- op: replace - path: /spec/template/spec/containers/0/args/3 - value: "--metrics-address=:22011" -- op: replace - path: /spec/template/spec/containers/0/args/7 - value: "--enable-leader-election" -- op: replace - path: /spec/template/spec/containers/0/args/8 - value: "--leader-election-type=leases" -- op: remove - path: /spec/template/spec/containers/0/ports -- op: remove - path: /spec/template/spec/containers/0/livenessProbe -# for external-attacher -- op: replace - path: /spec/template/spec/containers/1/args/2 - value: "--metrics-address=:22012" -- op: remove - path: /spec/template/spec/containers/1/ports -- op: remove - path: /spec/template/spec/containers/1/livenessProbe diff --git a/deploy/kubernetes/overlays/stable-1-15/no_resizer_snapshotter_roles.yaml b/deploy/kubernetes/overlays/stable-1-15/no_resizer_snapshotter_roles.yaml deleted file mode 100644 index 0bbddd596..000000000 --- a/deploy/kubernetes/overlays/stable-1-15/no_resizer_snapshotter_roles.yaml +++ /dev/null @@ -1,25 +0,0 @@ -$patch: delete -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-gce-pd-resizer-role - ---- -$patch: delete -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-gce-pd-resizer-binding ---- -$patch: delete -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: csi-gce-pd-snapshotter-role ---- -$patch: delete -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-gce-pd-controller-snapshotter-binding ---- diff --git a/deploy/kubernetes/overlays/stable-1-15/no_resizer_snapshotter_sidecar.yaml b/deploy/kubernetes/overlays/stable-1-15/no_resizer_snapshotter_sidecar.yaml deleted file mode 100644 index 96abdce41..000000000 --- a/deploy/kubernetes/overlays/stable-1-15/no_resizer_snapshotter_sidecar.yaml +++ /dev/null @@ -1,12 +0,0 @@ -kind: Deployment -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - $patch: delete - name: csi-resizer - - $patch: delete - name: csi-snapshotter diff --git a/deploy/kubernetes/overlays/stable-1-15/no_win_roles.yaml b/deploy/kubernetes/overlays/stable-1-15/no_win_roles.yaml deleted file mode 100644 index 0d9bc0517..000000000 --- a/deploy/kubernetes/overlays/stable-1-15/no_win_roles.yaml +++ /dev/null @@ -1,17 +0,0 @@ -$patch: delete -apiVersion: v1 -kind: ServiceAccount -metadata: - name: csi-gce-pd-node-sa-win ---- -$patch: delete -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-gce-pd-node-deploy-win ---- -$patch: delete -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: csi-gce-pd-node-win diff --git a/deploy/kubernetes/overlays/stable-1-16/kustomization.yaml b/deploy/kubernetes/overlays/stable-1-16/kustomization.yaml deleted file mode 100644 index 52e12d60a..000000000 --- a/deploy/kubernetes/overlays/stable-1-16/kustomization.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: kustomize.config.k8s.io/v1beta1 -kind: Kustomization -namespace: - gce-pd-csi-driver -resources: -- ../../base/controller -- ../../base/node_linux -patchesStrategicMerge: -- no_snapshotter_sidecar.yaml -- no_snapshotter_roles.yaml -- no_win_roles.yaml -patchesJson6902: -- target: - group: apps - version: v1 - kind: Deployment - name: csi-gce-pd-controller - path: metrics_leaderelection_endpoint.yaml -transformers: -- ../../images/stable-1-16 diff --git a/deploy/kubernetes/overlays/stable-1-16/metrics_leaderelection_endpoint.yaml b/deploy/kubernetes/overlays/stable-1-16/metrics_leaderelection_endpoint.yaml deleted file mode 100644 index 8aea54213..000000000 --- a/deploy/kubernetes/overlays/stable-1-16/metrics_leaderelection_endpoint.yaml +++ /dev/null @@ -1,30 +0,0 @@ -# for external-provisioner -- op: replace - path: /spec/template/spec/containers/0/args/3 - value: "--metrics-address=:22011" -- op: replace - path: /spec/template/spec/containers/0/args/7 - value: "--enable-leader-election" -- op: replace - path: /spec/template/spec/containers/0/args/8 - value: "--leader-election-type=leases" -- op: remove - path: /spec/template/spec/containers/0/ports -- op: remove - path: /spec/template/spec/containers/0/livenessProbe -# for external-attacher -- op: replace - path: /spec/template/spec/containers/1/args/2 - value: "--metrics-address=:22012" -- op: remove - path: /spec/template/spec/containers/1/ports -- op: remove - path: /spec/template/spec/containers/1/livenessProbe -# for external-resizer -- op: replace - path: /spec/template/spec/containers/2/args/2 - value: "--metrics-address=:22013" -- op: remove - path: /spec/template/spec/containers/2/ports -- op: remove - path: /spec/template/spec/containers/2/livenessProbe diff --git a/deploy/kubernetes/overlays/stable-1-16/no_snapshotter_roles.yaml b/deploy/kubernetes/overlays/stable-1-16/no_snapshotter_roles.yaml deleted file mode 100644 index a619feca0..000000000 --- a/deploy/kubernetes/overlays/stable-1-16/no_snapshotter_roles.yaml +++ /dev/null @@ -1,13 +0,0 @@ -# TODO: Check if we can remove the snapshot, snapshotcontent get list roles for provisioner -$patch: delete -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: csi-gce-pd-snapshotter-role ---- -$patch: delete -kind: ClusterRoleBinding -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-gce-pd-controller-snapshotter-binding ---- diff --git a/deploy/kubernetes/overlays/stable-1-16/no_snapshotter_sidecar.yaml b/deploy/kubernetes/overlays/stable-1-16/no_snapshotter_sidecar.yaml deleted file mode 100644 index 61805910f..000000000 --- a/deploy/kubernetes/overlays/stable-1-16/no_snapshotter_sidecar.yaml +++ /dev/null @@ -1,10 +0,0 @@ -kind: Deployment -apiVersion: apps/v1 -metadata: - name: csi-gce-pd-controller -spec: - template: - spec: - containers: - - $patch: delete - name: csi-snapshotter diff --git a/deploy/kubernetes/overlays/stable-1-16/no_win_roles.yaml b/deploy/kubernetes/overlays/stable-1-16/no_win_roles.yaml deleted file mode 100644 index 0d9bc0517..000000000 --- a/deploy/kubernetes/overlays/stable-1-16/no_win_roles.yaml +++ /dev/null @@ -1,17 +0,0 @@ -$patch: delete -apiVersion: v1 -kind: ServiceAccount -metadata: - name: csi-gce-pd-node-sa-win ---- -$patch: delete -kind: ClusterRole -apiVersion: rbac.authorization.k8s.io/v1 -metadata: - name: csi-gce-pd-node-deploy-win ---- -$patch: delete -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: csi-gce-pd-node-win diff --git a/deploy/kubernetes/overlays/stable-1-17/kustomization.yaml b/deploy/kubernetes/overlays/stable-1-17/kustomization.yaml index 9021962c5..646021c7d 100644 --- a/deploy/kubernetes/overlays/stable-1-17/kustomization.yaml +++ b/deploy/kubernetes/overlays/stable-1-17/kustomization.yaml @@ -5,7 +5,9 @@ namespace: resources: - ../../base/controller - ../../base/node_linux +- v1beta1_csidriver.yaml patchesStrategicMerge: - no_win_roles.yaml +- no_v1_csidriver.yaml transformers: - ../../images/stable-1-17 diff --git a/deploy/kubernetes/overlays/stable-1-17/no_v1_csidriver.yaml b/deploy/kubernetes/overlays/stable-1-17/no_v1_csidriver.yaml new file mode 100644 index 000000000..b45cfc07a --- /dev/null +++ b/deploy/kubernetes/overlays/stable-1-17/no_v1_csidriver.yaml @@ -0,0 +1,5 @@ +$patch: delete +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: pd.csi.storage.gke.io diff --git a/deploy/kubernetes/overlays/stable-1-17/v1beta1_csidriver.yaml b/deploy/kubernetes/overlays/stable-1-17/v1beta1_csidriver.yaml new file mode 100644 index 000000000..d15a496ba --- /dev/null +++ b/deploy/kubernetes/overlays/stable-1-17/v1beta1_csidriver.yaml @@ -0,0 +1,7 @@ +apiVersion: storage.k8s.io/v1beta1 +kind: CSIDriver +metadata: + name: pd.csi.storage.gke.io +spec: + attachRequired: true + podInfoOnMount: false