From c821332f12106f4d981d65e57943e123bf770eb4 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Thu, 19 Oct 2023 07:20:27 +0000 Subject: [PATCH] doc: cut v1.21.5 release --- Makefile | 2 +- README.md | 2 +- charts/index.yaml | 85 +++--- charts/latest/blob-csi-driver-v1.21.4.tgz | Bin 5517 -> 0 bytes charts/latest/blob-csi-driver-v1.21.5.tgz | Bin 0 -> 5517 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.21.5/blob-csi-driver-v1.21.5.tgz | Bin 0 -> 5517 bytes charts/v1.21.5/blob-csi-driver/Chart.yaml | 5 + .../blob-csi-driver/templates/NOTES.txt | 5 + .../blob-csi-driver/templates/_helpers.tpl | 49 +++ .../templates/csi-blob-controller.yaml | 212 +++++++++++++ .../templates/csi-blob-driver.yaml | 16 + .../templates/csi-blob-node.yaml | 282 ++++++++++++++++++ .../templates/rbac-csi-blob-controller.yaml | 115 +++++++ .../templates/rbac-csi-blob-node.yaml | 29 ++ .../serviceaccount-csi-blob-controller.yaml | 9 + .../serviceaccount-csi-blob-node.yaml | 9 + charts/v1.21.5/blob-csi-driver/values.yaml | 167 +++++++++++ deploy/blobfuse-proxy/README.md | 6 +- deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 4 +- deploy/v1.21.5/csi-blob-controller.yaml | 143 +++++++++ deploy/v1.21.5/csi-blob-driver.yaml | 11 + deploy/v1.21.5/csi-blob-node.yaml | 203 +++++++++++++ deploy/v1.21.5/kustomization.yaml | 10 + deploy/v1.21.5/rbac-csi-blob-controller.yaml | 108 +++++++ deploy/v1.21.5/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.21.5.md | 47 +++ 30 files changed, 1509 insertions(+), 50 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-v1.21.4.tgz create mode 100644 charts/latest/blob-csi-driver-v1.21.5.tgz create mode 100644 charts/v1.21.5/blob-csi-driver-v1.21.5.tgz create mode 100644 charts/v1.21.5/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.21.5/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.21.5/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.21.5/blob-csi-driver/values.yaml create mode 100644 deploy/v1.21.5/csi-blob-controller.yaml create mode 100644 deploy/v1.21.5/csi-blob-driver.yaml create mode 100644 deploy/v1.21.5/csi-blob-node.yaml create mode 100644 deploy/v1.21.5/kustomization.yaml create mode 100644 deploy/v1.21.5/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.21.5/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.21.5.md diff --git a/Makefile b/Makefile index 98e740088..d517c1170 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ GIT_COMMIT ?= $(shell git rev-parse HEAD) REGISTRY ?= andyzhangx REGISTRY_NAME ?= $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g") IMAGE_NAME ?= blob-csi -IMAGE_VERSION ?= v1.21.4 +IMAGE_VERSION ?= v1.21.5 CLOUD ?= AzurePublicCloud # Use a custom version for E2E tests if we are in Prow ifdef CI diff --git a/README.md b/README.md index ef5f800f3..f974d4c4e 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Disclaimer: Deploying this driver manually is not an officially supported Micros |driver version |Image | supported k8s version | built-in blobfuse v1 version | built-in blobfuse v2 version| |----------------|------------------------------------------------------|-----------------------|------------------------------| ----------------------------| |master branch |mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ | 1.4.5 | 2.0.3 | -|v1.21.4 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.4 | 1.21+ | 1.4.5 | 2.0.3 | +|v1.21.5 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 | 1.21+ | 1.4.5 | 2.0.3 | |v1.20.2 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.20.2 | 1.21+ | 1.4.5 | 2.0.2 | |v1.19.3 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.19.3 | 1.21+ | 1.4.5 | 2.0.2 | diff --git a/charts/index.yaml b/charts/index.yaml index 31b036d3b..1e6392a6f 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,26 +2,35 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: v1.21.4 - created: "2023-06-15T13:32:29.836841034Z" + appVersion: v1.21.5 + created: "2023-10-19T07:19:41.292109252Z" description: Azure Blob Storage CSI driver - digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 + digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.21.4/blob-csi-driver-v1.21.4.tgz - version: v1.21.4 + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.21.5.tgz + version: v1.21.5 + - apiVersion: v1 + appVersion: v1.21.5 + created: "2023-10-19T07:19:41.309363942Z" + description: Azure Blob Storage CSI driver + digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.21.5/blob-csi-driver-v1.21.5.tgz + version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2023-06-15T13:32:29.817274637Z" + created: "2023-10-19T07:19:41.30876468Z" description: Azure Blob Storage CSI driver - digest: 0c2ffa0655f9444ecb8b28e966d9441d85669985b7dff6f222712047e933d299 + digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.21.4.tgz + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.21.4/blob-csi-driver-v1.21.4.tgz version: v1.21.4 - apiVersion: v1 appVersion: v1.21.3 - created: "2023-06-15T13:32:29.836228931Z" + created: "2023-10-19T07:19:41.308187483Z" description: Azure Blob Storage CSI driver digest: 7598ef899e6fd53f8346cacba4093475647369a56b59f049b9a388590b0ffa0a name: blob-csi-driver @@ -30,7 +39,7 @@ entries: version: v1.21.3 - apiVersion: v1 appVersion: v1.21.2 - created: "2023-06-15T13:32:29.835632025Z" + created: "2023-10-19T07:19:41.307555853Z" description: Azure Blob Storage CSI driver digest: a37e16c22dcee86f2e4e56fc6514aedd9061fe9548e82da476c536428b5ccbd8 name: blob-csi-driver @@ -39,7 +48,7 @@ entries: version: v1.21.2 - apiVersion: v1 appVersion: v1.21.1 - created: "2023-06-15T13:32:29.835022723Z" + created: "2023-10-19T07:19:41.30697608Z" description: Azure Blob Storage CSI driver digest: 77640358a3862bf482c10fe4d887cbfa84e47d29271a93aecf749c12645ea80e name: blob-csi-driver @@ -48,7 +57,7 @@ entries: version: v1.21.1 - apiVersion: v1 appVersion: v1.21.0 - created: "2023-06-15T13:32:29.834384257Z" + created: "2023-10-19T07:19:41.30636246Z" description: Azure Blob Storage CSI driver digest: cd9d4acb33dca9b76d3780154fbb90de552d1dd09f98641af965c48b26dba0e2 name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: v1.21.0 - apiVersion: v1 appVersion: v1.20.2 - created: "2023-06-15T13:32:29.833764888Z" + created: "2023-10-19T07:19:41.305322346Z" description: Azure Blob Storage CSI driver digest: 4bade95d429e53f9e9e2f07af3e24117f71dbdc708df1f41b6ec95245d2d0ca0 name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: v1.20.2 - apiVersion: v1 appVersion: v1.20.1 - created: "2023-06-15T13:32:29.833116881Z" + created: "2023-10-19T07:19:41.304142273Z" description: Azure Blob Storage CSI driver digest: b2a843345518a2431f7ddd573ec4556cd38a0d4ec78a58703fde4698e545bec3 name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: v1.20.1 - apiVersion: v1 appVersion: v1.19.3 - created: "2023-06-15T13:32:29.830670595Z" + created: "2023-10-19T07:19:41.30282268Z" description: Azure Blob Storage CSI driver digest: 6ce3724c58ae67d89c073ef4940a909cfd1189b47003626a0469ee93878362da name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: v1.19.3 - apiVersion: v1 appVersion: v1.19.2 - created: "2023-06-15T13:32:29.829962546Z" + created: "2023-10-19T07:19:41.302248684Z" description: Azure Blob Storage CSI driver digest: 63bccd0776f78b6816875ffd99e0ad9c6efecd1b447570228e58410e36dab477 name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: v1.19.2 - apiVersion: v1 appVersion: v1.18.0 - created: "2023-06-15T13:32:29.82856927Z" + created: "2023-10-19T07:19:41.301676527Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2023-06-15T13:32:29.827394298Z" + created: "2023-10-19T07:19:41.300868051Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2023-06-15T13:32:29.826573384Z" + created: "2023-10-19T07:19:41.300125004Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2023-06-15T13:32:29.825526077Z" + created: "2023-10-19T07:19:41.299285058Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2023-06-15T13:32:29.824502871Z" + created: "2023-10-19T07:19:41.29802407Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2023-06-15T13:32:29.823362981Z" + created: "2023-10-19T07:19:41.29683317Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2023-06-15T13:32:29.822428043Z" + created: "2023-10-19T07:19:41.29601617Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2023-06-15T13:32:29.821435195Z" + created: "2023-10-19T07:19:41.295164613Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2023-06-15T13:32:29.820519093Z" + created: "2023-10-19T07:19:41.294318497Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: v1.9.0 - created: "2023-06-15T13:32:29.844437014Z" + created: "2023-10-19T07:19:41.31595595Z" description: Azure Blob Storage CSI driver digest: fca0b9215d3277346f68c643fb3ead75158971f0d1945ab01ec559196f3cf842 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.9.0 - apiVersion: v1 appVersion: v1.8.0 - created: "2023-06-15T13:32:29.843781902Z" + created: "2023-10-19T07:19:41.31533407Z" description: Azure Blob Storage CSI driver digest: 3b78e2ab4f33577c54d4f57276c824717d2ad2aa3741210e938fcaf927bc751f name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.8.0 - apiVersion: v1 appVersion: v1.7.0 - created: "2023-06-15T13:32:29.842922743Z" + created: "2023-10-19T07:19:41.31455493Z" description: Azure Blob Storage CSI driver digest: 28da5b55c3d2689d6da85eb7da344385e9cb99bdb2af18c24fea93670abfe7ea name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.7.0 - apiVersion: v1 appVersion: v1.6.0 - created: "2023-06-15T13:32:29.842022138Z" + created: "2023-10-19T07:19:41.313737345Z" description: Azure Blob Storage CSI driver digest: 6f24f2e6623f6f8862e47d4fbdf13b5f351ceec6bb9a4591ef7fc2fca9fc1eef name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.6.0 - apiVersion: v1 appVersion: v1.5.0 - created: "2023-06-15T13:32:29.841141593Z" + created: "2023-10-19T07:19:41.312642369Z" description: Azure Blob Storage CSI driver digest: 95d14c9b70b319760d388ea47727c8c97e9287867a8852aeb67b7175b52fe8f5 name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.5.0 - apiVersion: v1 appVersion: v1.4.1 - created: "2023-06-15T13:32:29.840321408Z" + created: "2023-10-19T07:19:41.311550412Z" description: Azure Blob Storage CSI driver digest: 5fcf69c449f065fa1d5722e5a7fed8a28000efa790907e9ff4b552c5fbd16d22 name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.4.1 - apiVersion: v1 appVersion: v1.4.0 - created: "2023-06-15T13:32:29.839450231Z" + created: "2023-10-19T07:19:41.3108173Z" description: Azure Blob Storage CSI driver digest: b466543344a6411f6130ba87b093955d39ab8614c6b4ed8505a0a0c96073cb33 name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.4.0 - apiVersion: v1 appVersion: v1.3.0 - created: "2023-06-15T13:32:29.838134539Z" + created: "2023-10-19T07:19:41.31010552Z" description: Azure Blob Storage CSI driver digest: 58d02cb70a3a966b349d62e880b7149fb06ac009474e35e580784fd3c98a5b07 name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.3.0 - apiVersion: v1 appVersion: v1.2.0 - created: "2023-06-15T13:32:29.832519087Z" + created: "2023-10-19T07:19:41.303576476Z" description: Azure Blob Storage CSI driver digest: 27fb89f20b5fddc7329e6d7c2374857b22c1d61592e397a53f47121eea68c344 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.2.0 - apiVersion: v1 appVersion: v1.1.0 - created: "2023-06-15T13:32:29.819588304Z" + created: "2023-10-19T07:19:41.293391298Z" description: Azure Blob Storage CSI driver digest: a251a55243de207c69ef53f72abee45e93b72fa4fc43dc204b7f1cdfd459acdb name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.1.0 - apiVersion: v1 appVersion: v1.0.0 - created: "2023-06-15T13:32:29.818615562Z" + created: "2023-10-19T07:19:41.29266291Z" description: Azure Blob Storage CSI driver digest: e83f037a165eafc83a978bd7e6bf6221b052ac34363aecb12e6a73607dc58b89 name: blob-csi-driver @@ -273,11 +282,11 @@ entries: version: v1.0.0 - apiVersion: v1 appVersion: latest - created: "2023-06-15T13:32:29.816598006Z" + created: "2023-10-19T07:19:41.291485675Z" description: Azure Blob Storage CSI driver digest: c1681cd031f5eb9fdb7fd16adf006c77824485f1744dc6b65f2db02c0a1581d6 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2023-06-15T13:32:29.815710961Z" +generated: "2023-10-19T07:19:41.290733127Z" diff --git a/charts/latest/blob-csi-driver-v1.21.4.tgz b/charts/latest/blob-csi-driver-v1.21.4.tgz deleted file mode 100644 index c85e0e5499ad06315d63c91a7ec78f9e3497cf93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5517 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 P00960Kt2r<0Gt2-U{v5h literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index ecff5b139..fbc87b605 100644 --- a/charts/latest/blob-csi-driver/Chart.yaml +++ b/charts/latest/blob-csi-driver/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: v1.21.4 +appVersion: v1.21.5 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v1.21.4 +version: v1.21.5 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 7b3a958a5..87f9be109 100644 --- a/charts/latest/blob-csi-driver/values.yaml +++ b/charts/latest/blob-csi-driver/values.yaml @@ -2,7 +2,7 @@ image: baseRepo: mcr.microsoft.com blob: repository: /oss/kubernetes-csi/blob-csi - tag: v1.21.4 + tag: v1.21.5 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.21.5/blob-csi-driver-v1.21.5.tgz b/charts/v1.21.5/blob-csi-driver-v1.21.5.tgz new file mode 100644 index 0000000000000000000000000000000000000000..5e7ca163bca3725f76ed95b554d92b21620955c5 GIT binary patch literal 5517 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 P00960Kt2r<0Gt2-U{v5h literal 0 HcmV?d00001 diff --git a/charts/v1.21.5/blob-csi-driver/Chart.yaml b/charts/v1.21.5/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..fbc87b605 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: v1.21.5 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: v1.21.5 diff --git a/charts/v1.21.5/blob-csi-driver/templates/NOTES.txt b/charts/v1.21.5/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..9ad135dd4 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/NOTES.txt @@ -0,0 +1,5 @@ +The Azure Blob Storage CSI driver is getting deployed to your cluster. + +To check Azure Blob Storage CSI driver pods status, please run: + + kubectl --namespace={{ .Release.Namespace }} get pods --selector="release={{ .Release.Name }}" --watch diff --git a/charts/v1.21.5/blob-csi-driver/templates/_helpers.tpl b/charts/v1.21.5/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/_helpers.tpl @@ -0,0 +1,49 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* Expand the name of the chart.*/}} +{{- define "blob.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "blob.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common selectors. +*/}} +{{- define "blob.selectorLabels" -}} +app.kubernetes.io/name: {{ template "blob.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Common labels. +*/}} +{{- define "blob.labels" -}} +{{- include "blob.selectorLabels" . }} +app.kubernetes.io/component: csi-driver +app.kubernetes.io/part-of: {{ template "blob.name" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +helm.sh/chart: {{ template "blob.chart" . }} +{{- if .Values.customLabels }} +{{ toYaml .Values.customLabels }} +{{- end }} +{{- end -}} + + +{{/* pull secrets for containers */}} +{{- define "blob.pullSecrets" -}} +{{- if .Values.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- end }} +{{- end -}} \ No newline at end of file diff --git a/charts/v1.21.5/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.21.5/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..6b7bd2e23 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,212 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: {{ .Values.controller.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.controller.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.controller.replicas }} + selector: + matchLabels: + app: {{ .Values.controller.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.controller.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: +{{- with .Values.controller.affinity }} + affinity: +{{ toYaml . | indent 8 }} +{{- end }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + hostNetwork: {{ .Values.controller.hostNetwork }} + serviceAccountName: {{ .Values.serviceAccount.controller }} + nodeSelector: + kubernetes.io/os: linux + {{- if .Values.controller.runOnMaster}} + node-role.kubernetes.io/master: "" + {{- end}} + {{- if .Values.controller.runOnControlPlane}} + node-role.kubernetes.io/control-plane: "" + {{- end}} +{{- with .Values.controller.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.controller.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} + containers: + - name: csi-provisioner +{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}" +{{- else }} + image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}" +{{- end }} + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - "--timeout=120s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }} + - name: liveness-probe +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port={{ .Values.controller.livenessProbe.healthPort }} + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }} + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.controller.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}" + - "--drivername={{ .Values.driver.name }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--cloud-config-secret-name={{ .Values.controller.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.controller.cloudConfigSecretNamespace }}" + - "--allow-empty-cloud-config={{ .Values.controller.allowEmptyCloudConfig }}" + ports: + - containerPort: {{ .Values.controller.livenessProbe.healthPort }} + name: healthz + protocol: TCP + - containerPort: {{ .Values.controller.metricsPort }} + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + resources: {{- toYaml .Values.controller.resources.blob | nindent 12 }} + - name: csi-resizer +{{- if hasPrefix "/" .Values.image.csiResizer.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- else }} + image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- end }} + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }} + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.21.5/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.21.5/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..891826a62 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/csi-blob-driver.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: {{ .Values.driver.name }} + labels: + {{- include "blob.labels" . | nindent 4 }} +spec: + attachRequired: false + podInfoOnMount: true + {{- if .Values.feature.enableFSGroupPolicy}} + fsGroupPolicy: File + {{- end}} + volumeLifecycleModes: + - Persistent + - Ephemeral diff --git a/charts/v1.21.5/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.21.5/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..882e056fa --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,282 @@ +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: {{ .Values.node.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: {{ .Values.node.maxUnavailable }} + type: RollingUpdate + selector: + matchLabels: + app: {{ .Values.node.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} +{{- if .Values.node.enableBlobfuseProxy }} + hostPID: true +{{- end }} + hostNetwork: true + dnsPolicy: Default + serviceAccountName: {{ .Values.serviceAccount.node }} + nodeSelector: + kubernetes.io/os: linux +{{- with .Values.node.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + {{- if .Values.node.affinity }} +{{- toYaml .Values.node.affinity | nindent 8 }} + {{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.node.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} +{{- if .Values.node.enableBlobfuseProxy }} + initContainers: + - name: install-blobfuse-proxy +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE + value: "{{ .Values.node.blobfuseProxy.installBlobfuse }}" + - name: BLOBFUSE_VERSION + value: "{{ .Values.node.blobfuseProxy.blobfuseVersion }}" + - name: INSTALL_BLOBFUSE2 + value: "{{ .Values.node.blobfuseProxy.installBlobfuse2 }}" + - name: BLOBFUSE2_VERSION + value: "{{ .Values.node.blobfuseProxy.blobfuse2Version }}" + - name: SET_MAX_OPEN_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.setMaxOpenFileNum }}" + - name: MAX_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.maxOpenFileNum }}" + - name: DISABLE_UPDATEDB + value: "{{ .Values.node.blobfuseProxy.disableUpdateDB }}" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-etc + mountPath: /host/etc +{{- end }} + containers: + - name: liveness-probe + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port={{ .Values.node.livenessProbe.healthPort }} + - --v=2 + resources: {{- toYaml .Values.node.resources.livenessProbe | nindent 12 }} + - name: node-driver-registrar +{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- else }} + image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- end }} + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + livenessProbe: + exec: + command: + - /csi-node-driver-registrar + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 30 + timeoutSeconds: 15 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: {{- toYaml .Values.node.resources.nodeDriverRegistrar | nindent 12 }} + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.node.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--enable-blobfuse-proxy={{ .Values.node.enableBlobfuseProxy }}" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--drivername={{ .Values.driver.name }}" + - "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}" + - "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}" + - "--append-timestamp-cache-dir={{ .Values.node.appendTimeStampInCacheDir }}" + - "--mount-permissions={{ .Values.node.mountPermissions }}" + - "--allow-inline-volume-key-access-with-idenitity={{ .Values.node.allowInlineVolumeKeyAccessWithIdentity }}" + ports: + - containerPort: {{ .Values.node.livenessProbe.healthPort }} + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + resources: {{- toYaml .Values.node.resources.blob | nindent 12 }} + volumes: +{{- if .Values.node.enableBlobfuseProxy }} + - name: host-usr + hostPath: + path: /usr + - name: host-etc + hostPath: + path: /etc +{{- end }} + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }} + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: {{ .Values.node.blobfuseCachePath }} + name: blob-cache + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..833dcc640 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-controller.yaml @@ -0,0 +1,115 @@ +{{- if .Values.rbac.create -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-provisioner-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-csi-provisioner-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Values.rbac.name }}-external-provisioner-role + apiGroup: rbac.authorization.k8s.io + +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-resizer-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-csi-resizer-role + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Values.rbac.name }}-external-resizer-role + apiGroup: rbac.authorization.k8s.io + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-controller-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-controller-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-controller-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/rbac-csi-blob-node.yaml @@ -0,0 +1,29 @@ +{{- if .Values.rbac.create -}} +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-node-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..9c9fb477b --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml @@ -0,0 +1,9 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- end -}} diff --git a/charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..e1dc20bd2 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml @@ -0,0 +1,9 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- end -}} diff --git a/charts/v1.21.5/blob-csi-driver/values.yaml b/charts/v1.21.5/blob-csi-driver/values.yaml new file mode 100644 index 000000000..87f9be109 --- /dev/null +++ b/charts/v1.21.5/blob-csi-driver/values.yaml @@ -0,0 +1,167 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.21.5 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v3.3.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/kubernetes-csi/livenessprobe + tag: v2.8.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/kubernetes-csi/csi-node-driver-registrar + tag: v2.6.2 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/kubernetes-csi/csi-resizer + tag: v1.6.0 + pullPolicy: IfNotPresent + +cloud: AzurePublicCloud + +## Reference to one or more secrets to be used when pulling images +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# - name: myRegistryKeySecretName + +serviceAccount: + create: true # When true, service accounts will be created for you. Set to false if you want to use your own. + controller: csi-blob-controller-sa # Name of Service Account to be created or used + node: csi-blob-node-sa # Name of Service Account to be created or used + +rbac: + create: true + name: blob + +## Collection of annotations to add to all the pods +podAnnotations: {} +## Collection of labels to add to all the pods +podLabels: {} +# -- Custom labels to add into metadata +customLabels: {} + # k8s-app: blob-csi-driver + +## Leverage a PriorityClass to ensure your pods survive resource shortages +## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ +priorityClassName: system-cluster-critical +## Security context give the opportunity to run container as nonroot by setting a securityContext +## by example : +## securityContext: { runAsUser: 1001 } +securityContext: {} + +controller: + name: csi-blob-controller + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + hostNetwork: true # this setting could be disabled if controller does not depend on MSI setting + metricsPort: 29634 + livenessProbe: + healthPort: 29632 + replicas: 2 + runOnMaster: false + runOnControlPlane: false + logLevel: 5 + resources: + csiProvisioner: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + csiResizer: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + +node: + name: csi-blob-node + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + allowInlineVolumeKeyAccessWithIdentity: false + maxUnavailable: 1 + livenessProbe: + healthPort: 29633 + logLevel: 5 + enableBlobfuseProxy: false + blobfuseProxy: + installBlobfuse: true + blobfuseVersion: "" + installBlobfuse2: true + blobfuse2Version: "" + setMaxOpenFileNum: true + maxOpenFileNum: "9000000" + disableUpdateDB: true + blobfuseCachePath: /mnt + appendTimeStampInCacheDir: false + mountPermissions: 0777 + resources: + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + nodeDriverRegistrar: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - operator: "Exists" + +feature: + enableFSGroupPolicy: false + enableGetVolumeStats: false + +driver: + name: blob.csi.azure.com + customUserAgent: "" + userAgentSuffix: "OSS-helm" + azureGoSDKLogLevel: "" # available values: ""(no logs), DEBUG, INFO, WARNING, ERROR + httpsProxy: "" + httpProxy: "" + +linux: + kubelet: /var/lib/kubelet + distro: debian diff --git a/deploy/blobfuse-proxy/README.md b/deploy/blobfuse-proxy/README.md index eb48c267c..3fa57f1fc 100644 --- a/deploy/blobfuse-proxy/README.md +++ b/deploy/blobfuse-proxy/README.md @@ -10,19 +10,19 @@ This guide shows how to install a blobfuse proxy on all agent nodes and the prox - helm install ```console helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts -helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.21.4 --set node.enableBlobfuseProxy=true +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.21.5 --set node.enableBlobfuseProxy=true ``` - kubectl install ```console -curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.21.4/deploy/install-driver.sh | bash -s v1.21.4 blobfuse-proxy -- +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.21.5/deploy/install-driver.sh | bash -s v1.21.5 blobfuse-proxy -- ``` ### Enable blobfuse proxy on existing Blob CSI driver - install blobfuse proxy daemonset > following config only works on debian based agent node ```console -kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/v1.21.4/blobfuse-proxy.yaml +kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/v1.21.5/blobfuse-proxy.yaml ``` - set `enable-blobfuse-proxy=true` in existing `csi-blob-node` daemonset manually (default is `false`) ```console diff --git a/deploy/csi-blob-controller.yaml b/deploy/csi-blob-controller.yaml index 5cd2c57ae..536618a5c 100644 --- a/deploy/csi-blob-controller.yaml +++ b/deploy/csi-blob-controller.yaml @@ -72,7 +72,7 @@ spec: cpu: 10m memory: 20Mi - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.4 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index 46fd5bc06..f074ef063 100644 --- a/deploy/csi-blob-node.yaml +++ b/deploy/csi-blob-node.yaml @@ -40,7 +40,7 @@ spec: - operator: "Exists" initContainers: - name: install-blobfuse-proxy - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.4 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 imagePullPolicy: IfNotPresent command: - "/blobfuse-proxy/init.sh" @@ -118,7 +118,7 @@ spec: cpu: 10m memory: 20Mi - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.4 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/v1.21.5/csi-blob-controller.yaml b/deploy/v1.21.5/csi-blob-controller.yaml new file mode 100644 index 000000000..536618a5c --- /dev/null +++ b/deploy/v1.21.5/csi-blob-controller.yaml @@ -0,0 +1,143 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: csi-blob-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: csi-blob-controller + template: + metadata: + labels: + app: csi-blob-controller + spec: + hostNetwork: true + serviceAccountName: csi-blob-controller-sa + nodeSelector: + kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node + priorityClassName: system-cluster-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v3.3.0 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=120s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.8.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29632 + name: healthz + protocol: TCP + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + - name: csi-resizer + image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.5.0 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.21.5/csi-blob-driver.yaml b/deploy/v1.21.5/csi-blob-driver.yaml new file mode 100644 index 000000000..7b216feab --- /dev/null +++ b/deploy/v1.21.5/csi-blob-driver.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: blob.csi.azure.com +spec: + attachRequired: false + podInfoOnMount: true + volumeLifecycleModes: + - Persistent + - Ephemeral diff --git a/deploy/v1.21.5/csi-blob-node.yaml b/deploy/v1.21.5/csi-blob-node.yaml new file mode 100644 index 000000000..f074ef063 --- /dev/null +++ b/deploy/v1.21.5/csi-blob-node.yaml @@ -0,0 +1,203 @@ +--- +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: csi-blob-node + namespace: kube-system +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: 1 + type: RollingUpdate + selector: + matchLabels: + app: csi-blob-node + template: + metadata: + labels: + app: csi-blob-node + spec: + hostNetwork: true + hostPID: true + dnsPolicy: Default + serviceAccountName: csi-blob-node-sa + nodeSelector: + kubernetes.io/os: linux + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + priorityClassName: system-node-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - operator: "Exists" + initContainers: + - name: install-blobfuse-proxy + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "true" + - name: BLOBFUSE_VERSION + value: "" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "" + - name: SET_MAX_OPEN_FILE_NUM + value: "true" + - name: MAX_FILE_NUM + value: "9000000" + - name: DISABLE_UPDATEDB + value: "true" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-etc + mountPath: /host/etc + containers: + - name: liveness-probe + volumeMounts: + - mountPath: /csi + name: socket-dir + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.8.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.6.2 + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + livenessProbe: + exec: + command: + - /csi-node-driver-registrar + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 30 + timeoutSeconds: 15 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: /var/lib/kubelet/plugins/blob.csi.azure.com/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.5 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--enable-blobfuse-proxy=false" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29633 + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: /var/lib/kubelet/plugins/blob.csi.azure.com + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: /mnt + type: DirectoryOrCreate + name: blob-cache +--- diff --git a/deploy/v1.21.5/kustomization.yaml b/deploy/v1.21.5/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.21.5/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - csi-blob-controller.yaml + - csi-blob-driver.yaml + - csi-blob-node.yaml + - rbac-csi-blob-controller.yaml + - rbac-csi-blob-node.yaml + - blobfuse-proxy.yaml diff --git a/deploy/v1.21.5/rbac-csi-blob-controller.yaml b/deploy/v1.21.5/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.21.5/rbac-csi-blob-controller.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-controller-sa + namespace: kube-system +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-provisioner-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-provisioner-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-provisioner-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-resizer-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-resizer-role +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-resizer-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-controller-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/v1.21.5/rbac-csi-blob-node.yaml b/deploy/v1.21.5/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.21.5/rbac-csi-blob-node.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-node-sa + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-node-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-node-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/docs/install-blob-csi-driver.md b/docs/install-blob-csi-driver.md index dd6996a07..70f49da33 100644 --- a/docs/install-blob-csi-driver.md +++ b/docs/install-blob-csi-driver.md @@ -4,6 +4,6 @@ > - please use helm install method for more customization, e.g. Azure Stack, RedHat OpenShift support. > - [install CSI driver master version](./install-csi-driver-master.md) (only for testing purpose) - - [install v1.21.4 CSI driver](./install-csi-driver-v1.21.4.md) + - [install v1.21.5 CSI driver](./install-csi-driver-v1.21.5.md) - [install v1.20.2 CSI driver](./install-csi-driver-v1.20.2.md) - [install v1.19.3 CSI driver](./install-csi-driver-v1.19.3.md) diff --git a/docs/install-csi-driver-v1.21.5.md b/docs/install-csi-driver-v1.21.5.md new file mode 100644 index 000000000..0cc1b9efd --- /dev/null +++ b/docs/install-csi-driver-v1.21.5.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.21.5 version on a kubernetes cluster +> `blobfuse-proxy` is only available for debian based agent nodes, remove `blobfuse-proxy` parameter in installation steps if it's not applicable. +> +If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md). + +## Install with kubectl + - Option#1. remote install +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.21.5/deploy/install-driver.sh | bash -s v1.21.5 blobfuse-proxy -- +``` + + - Option#2. local install +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +./deploy/install-driver.sh v1.21.5 local,blobfuse-proxy +``` + +- check pods status: +```console +kubectl -n kube-system get pod -o wide -l app=csi-blob-controller +kubectl -n kube-system get pod -o wide -l app=csi-blob-node +``` + +example output: + +```console +NAME READY STATUS RESTARTS AGE IP NODE +csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 +csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0 +``` + +### clean up Blob CSI driver +- Option#1. remote uninstall +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.21.5/deploy/uninstall-driver.sh | bash -s v1.21.5 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.21.5 +./deploy/uninstall-driver.sh v1.21.5 local +```