From 1611c45d348912dff62857af29b829b5d69c97f1 Mon Sep 17 00:00:00 2001 From: Peter Rifel Date: Tue, 23 Nov 2021 18:53:45 -0600 Subject: [PATCH] Add default CSI storage class and missing tags and namespaces --- ...l-gce.example.com-addons-bootstrap_content | 4 +- ...-csi-driver.addons.k8s.io-k8s-1.23_content | 56 ++++++++++++++++--- ...s-storage-gce.addons.k8s.io-v1.7.0_content | 2 - .../k8s-1.23.yaml.template | 51 ++++++++++++++--- .../v1.7.0.yaml.template | 2 + 5 files changed, 97 insertions(+), 18 deletions(-) diff --git a/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-bootstrap_content b/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-bootstrap_content index 1fb03603f2..54abb7ce06 100644 --- a/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-bootstrap_content +++ b/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-bootstrap_content @@ -47,14 +47,14 @@ spec: version: 9.99.0 - id: v1.7.0 manifest: storage-gce.addons.k8s.io/v1.7.0.yaml - manifestHash: 101aceff3d82b4d7066f75fdf537f272eccec6da767d508e2a72bff5e11b0b6d + manifestHash: 6c6d100b10243fc62e0195706aa862b42632faeac05a117d07a263a2c5a8e87c name: storage-gce.addons.k8s.io selector: k8s-addon: storage-gce.addons.k8s.io version: 9.99.0 - id: k8s-1.23 manifest: gcp-pd-csi-driver.addons.k8s.io/k8s-1.23.yaml - manifestHash: 985173d3e0cbd9513999a03189dc54f27ca200c278c9daa2b8ed603dfea227f3 + manifestHash: b6a0ac434fa2204f469dd689ecda69dbad27c5652eb0740f657b50429a28d367 name: gcp-pd-csi-driver.addons.k8s.io selector: k8s-addon: gcp-pd-csi-driver.addons.k8s.io diff --git a/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-gcp-pd-csi-driver.addons.k8s.io-k8s-1.23_content b/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-gcp-pd-csi-driver.addons.k8s.io-k8s-1.23_content index 17052c750f..4e5ae7842e 100644 --- a/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-gcp-pd-csi-driver.addons.k8s.io-k8s-1.23_content +++ b/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-gcp-pd-csi-driver.addons.k8s.io-k8s-1.23_content @@ -1,3 +1,34 @@ +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + annotations: + storageclass.kubernetes.io/is-default-class: "true" + creationTimestamp: null + labels: + addon.kops.k8s.io/name: gcp-pd-csi-driver.addons.k8s.io + app.kubernetes.io/managed-by: kops + k8s-addon: gcp-pd-csi-driver.addons.k8s.io + kubernetes.io/cluster-service: "true" + name: standard-csi +parameters: + type: pd-standard +provisioner: pd.csi.storage.gke.io +volumeBindingMode: WaitForFirstConsumer + +--- + +apiVersion: v1 +kind: Namespace +metadata: + creationTimestamp: null + labels: + addon.kops.k8s.io/name: gcp-pd-csi-driver.addons.k8s.io + app.kubernetes.io/managed-by: kops + k8s-addon: gcp-pd-csi-driver.addons.k8s.io + name: gce-pd-csi-driver + +--- + apiVersion: v1 kind: ServiceAccount metadata: @@ -7,6 +38,7 @@ metadata: app.kubernetes.io/managed-by: kops k8s-addon: gcp-pd-csi-driver.addons.k8s.io name: csi-gce-pd-node-sa + namespace: gce-pd-csi-driver --- @@ -19,6 +51,7 @@ metadata: app.kubernetes.io/managed-by: kops k8s-addon: gcp-pd-csi-driver.addons.k8s.io name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -126,6 +159,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -200,6 +234,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -307,6 +342,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -347,6 +383,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -387,6 +424,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-node-sa + namespace: gce-pd-csi-driver --- @@ -406,6 +444,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -473,6 +512,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -532,6 +572,7 @@ metadata: app.kubernetes.io/managed-by: kops k8s-addon: gcp-pd-csi-driver.addons.k8s.io name: csi-gce-pd-controller + namespace: gce-pd-csi-driver spec: replicas: 1 selector: @@ -558,7 +599,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: k8s.gcr.io/sig-storage/csi-provisioner + image: k8s.gcr.io/sig-storage/csi-provisioner:v2.1.0 livenessProbe: failureThreshold: 1 httpGet: @@ -587,7 +628,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: k8s.gcr.io/sig-storage/csi-attacher + image: k8s.gcr.io/sig-storage/csi-attacher:v3.1.0 livenessProbe: failureThreshold: 1 httpGet: @@ -616,7 +657,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: k8s.gcr.io/sig-storage/csi-resizer + image: k8s.gcr.io/sig-storage/csi-resizer:v1.1.0 livenessProbe: failureThreshold: 1 httpGet: @@ -645,7 +686,7 @@ spec: valueFrom: fieldRef: fieldPath: metadata.namespace - image: k8s.gcr.io/sig-storage/csi-snapshotter + image: k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.3 name: csi-snapshotter volumeMounts: - mountPath: /csi @@ -656,7 +697,7 @@ spec: env: - name: GOOGLE_APPLICATION_CREDENTIALS value: /etc/cloud-sa/cloud-sa.json - image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver + image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver:v1.3.4 name: gce-pd-driver volumeMounts: - mountPath: /csi @@ -702,6 +743,7 @@ metadata: app.kubernetes.io/managed-by: kops k8s-addon: gcp-pd-csi-driver.addons.k8s.io name: csi-gce-pd-node + namespace: gce-pd-csi-driver spec: selector: matchLabels: @@ -721,7 +763,7 @@ spec: valueFrom: fieldRef: fieldPath: spec.nodeName - image: k8s.gcr.io/sig-storage/csi-node-driver-registrar + image: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.1.0 name: csi-driver-registrar volumeMounts: - mountPath: /csi @@ -732,7 +774,7 @@ spec: - --v=5 - --endpoint=unix:/csi/csi.sock - --run-controller-service=false - image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver + image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver:v1.3.4 name: gce-pd-driver securityContext: privileged: true diff --git a/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-storage-gce.addons.k8s.io-v1.7.0_content b/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-storage-gce.addons.k8s.io-v1.7.0_content index d8a2c6675e..1cfdf85f37 100644 --- a/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-storage-gce.addons.k8s.io-v1.7.0_content +++ b/tests/integration/update_cluster/minimal_gce/data/aws_s3_bucket_object_minimal-gce.example.com-addons-storage-gce.addons.k8s.io-v1.7.0_content @@ -1,8 +1,6 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: - annotations: - storageclass.kubernetes.io/is-default-class: "true" creationTimestamp: null labels: addon.kops.k8s.io/name: storage-gce.addons.k8s.io diff --git a/upup/models/cloudup/resources/addons/gcp-pd-csi-driver.addons.k8s.io/k8s-1.23.yaml.template b/upup/models/cloudup/resources/addons/gcp-pd-csi-driver.addons.k8s.io/k8s-1.23.yaml.template index f8e485c4a4..57e490d0ae 100644 --- a/upup/models/cloudup/resources/addons/gcp-pd-csi-driver.addons.k8s.io/k8s-1.23.yaml.template +++ b/upup/models/cloudup/resources/addons/gcp-pd-csi-driver.addons.k8s.io/k8s-1.23.yaml.template @@ -1,8 +1,35 @@ # https://github.com/kubernetes-sigs/gcp-compute-persistent-disk-csi-driver/tree/v1.3.4/deploy/kubernetes + +{{ if WithDefaultBool .CloudConfig.ManageStorageClasses true }} +apiVersion: storage.k8s.io/v1 +kind: StorageClass +metadata: + name: standard-csi + annotations: + storageclass.kubernetes.io/is-default-class: "true" + labels: + kubernetes.io/cluster-service: "true" + k8s-addon: gcp-pd-csi-driver.addons.k8s.io +provisioner: pd.csi.storage.gke.io +parameters: + type: pd-standard +volumeBindingMode: WaitForFirstConsumer +{{ end }} + +--- + +apiVersion: v1 +kind: Namespace +metadata: + name: gce-pd-csi-driver + + +--- ##### Node Service Account, Roles, RoleBindings apiVersion: v1 kind: ServiceAccount metadata: + namespace: gce-pd-csi-driver name: csi-gce-pd-node-sa --- @@ -10,6 +37,7 @@ metadata: apiVersion: v1 kind: ServiceAccount metadata: + namespace: gce-pd-csi-driver name: csi-gce-pd-controller-sa --- @@ -59,6 +87,7 @@ metadata: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver roleRef: kind: ClusterRole name: csi-gce-pd-provisioner-role @@ -95,6 +124,7 @@ metadata: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver roleRef: kind: ClusterRole name: csi-gce-pd-attacher-role @@ -153,6 +183,7 @@ metadata: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver roleRef: kind: ClusterRole name: csi-gce-pd-resizer-role @@ -180,6 +211,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- @@ -206,6 +238,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-node-sa + namespace: gce-pd-csi-driver --- apiVersion: rbac.authorization.k8s.io/v1 @@ -219,6 +252,7 @@ roleRef: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver --- apiVersion: rbac.authorization.k8s.io/v1 @@ -248,6 +282,7 @@ metadata: subjects: - kind: ServiceAccount name: csi-gce-pd-controller-sa + namespace: gce-pd-csi-driver roleRef: kind: ClusterRole name: csi-gce-pd-snapshotter-role @@ -288,6 +323,7 @@ roleRef: kind: Deployment apiVersion: apps/v1 metadata: + namespace: gce-pd-csi-driver name: csi-gce-pd-controller spec: replicas: 1 @@ -310,7 +346,7 @@ spec: priorityClassName: csi-gce-pd-controller containers: - name: csi-provisioner - image: k8s.gcr.io/sig-storage/csi-provisioner + image: k8s.gcr.io/sig-storage/csi-provisioner:v2.1.0 args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -344,7 +380,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-attacher - image: k8s.gcr.io/sig-storage/csi-attacher + image: k8s.gcr.io/sig-storage/csi-attacher:v3.1.0 args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -373,7 +409,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-resizer - image: k8s.gcr.io/sig-storage/csi-resizer + image: k8s.gcr.io/sig-storage/csi-resizer:v1.1.0 args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -402,7 +438,7 @@ spec: - name: socket-dir mountPath: /csi - name: csi-snapshotter - image: k8s.gcr.io/sig-storage/csi-snapshotter + image: k8s.gcr.io/sig-storage/csi-snapshotter:v3.0.3 args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -421,7 +457,7 @@ spec: - name: gce-pd-driver # Don't change base image without changing pdImagePlaceholder in # test/k8s-integration/main.go - image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver + image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver:v1.3.4 args: - "--v=5" - "--endpoint=unix:/csi/csi.sock" @@ -454,6 +490,7 @@ spec: kind: DaemonSet apiVersion: apps/v1 metadata: + namespace: gce-pd-csi-driver name: csi-gce-pd-node spec: selector: @@ -475,7 +512,7 @@ spec: kubernetes.io/os: linux containers: - name: csi-driver-registrar - image: k8s.gcr.io/sig-storage/csi-node-driver-registrar + image: k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.1.0 args: - "--v=5" - "--csi-address=/csi/csi.sock" @@ -493,7 +530,7 @@ spec: - name: gce-pd-driver # Don't change base image without changing pdImagePlaceholder in # test/k8s-integration/main.go - image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver + image: gke.gcr.io/gcp-compute-persistent-disk-csi-driver:v1.3.4 args: - "--v=5" - "--endpoint=unix:/csi/csi.sock" diff --git a/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml.template b/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml.template index 2b2642c35d..ed58745b67 100644 --- a/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml.template +++ b/upup/models/cloudup/resources/addons/storage-gce.addons.k8s.io/v1.7.0.yaml.template @@ -3,8 +3,10 @@ apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: standard +{{ if or (eq .CloudConfig.GCPPDCSIDriver nil) (not (WithDefaultBool .CloudConfig.GCPPDCSIDriver.Enabled false))}} annotations: storageclass.kubernetes.io/is-default-class: "true" +{{ end }} labels: kubernetes.io/cluster-service: "true" k8s-addon: storage-gce.addons.k8s.io