From 8d4492d1e8850a99762001a7363059d646f8cc35 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Mon, 24 Jun 2024 01:44:58 +0000 Subject: [PATCH] doc: cut v1.23.6 release --- Makefile | 2 +- README.md | 2 +- charts/README.md | 2 +- charts/index.yaml | 87 +++-- charts/latest/blob-csi-driver-v1.23.5.tgz | Bin 6002 -> 0 bytes charts/latest/blob-csi-driver-v1.23.6.tgz | Bin 0 -> 5998 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.23.6/blob-csi-driver-v1.23.6.tgz | Bin 0 -> 6002 bytes charts/v1.23.6/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 | 230 ++++++++++++ .../templates/csi-blob-driver.yaml | 16 + .../templates/csi-blob-node.yaml | 340 ++++++++++++++++++ .../templates/rbac-csi-blob-controller.yaml | 115 ++++++ .../templates/rbac-csi-blob-node.yaml | 29 ++ .../serviceaccount-csi-blob-controller.yaml | 17 + .../serviceaccount-csi-blob-node.yaml | 17 + charts/v1.23.6/blob-csi-driver/values.yaml | 180 ++++++++++ deploy/blobfuse-proxy/README.md | 8 +- deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 4 +- deploy/v1.23.6/csi-blob-controller.yaml | 158 ++++++++ deploy/v1.23.6/csi-blob-driver.yaml | 12 + deploy/v1.23.6/csi-blob-node.yaml | 219 +++++++++++ deploy/v1.23.6/kustomization.yaml | 10 + deploy/v1.23.6/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.23.6/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.23.6.md | 47 +++ 31 files changed, 1649 insertions(+), 53 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-v1.23.5.tgz create mode 100644 charts/latest/blob-csi-driver-v1.23.6.tgz create mode 100644 charts/v1.23.6/blob-csi-driver-v1.23.6.tgz create mode 100644 charts/v1.23.6/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.23.6/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.23.6/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.23.6/blob-csi-driver/values.yaml create mode 100644 deploy/v1.23.6/csi-blob-controller.yaml create mode 100644 deploy/v1.23.6/csi-blob-driver.yaml create mode 100644 deploy/v1.23.6/csi-blob-node.yaml create mode 100644 deploy/v1.23.6/kustomization.yaml create mode 100644 deploy/v1.23.6/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.23.6/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.23.6.md diff --git a/Makefile b/Makefile index 037e2c4d9..ecb86ff8a 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.23.5 +IMAGE_VERSION ?= v1.23.6 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 482a8d2e3..90d7df4d6 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 | |----------------|------------------------------------------------------|-----------------------| |master branch |mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ | -|v1.23.5 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.5 | 1.21+ | +|v1.23.6 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.6 | 1.21+ | |v1.22.2 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.2 | 1.21+ | |v1.21.4 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.4 | 1.21+ | diff --git a/charts/README.md b/charts/README.md index 2ec665d7f..a3002b524 100644 --- a/charts/README.md +++ b/charts/README.md @@ -5,7 +5,7 @@ ### Tips - configure with [blobfuse-proxy](../deploy/blobfuse-proxy) to make blobfuse mount still available after driver restart - > Note: [blobfuse-proxy](../deploy/blobfuse-proxy) is supported on CoreOS(OpenShift) from v1.23.5 + > Note: [blobfuse-proxy](../deploy/blobfuse-proxy) is supported on CoreOS(OpenShift) from v1.23.6 - specify `node.enableBlobfuseProxy=true` together with [blobfuse-proxy](../deploy/blobfuse-proxy) - run controller on control plane node: `--set controller.runOnControlPlane=true` - set replica of controller as `1`: `--set controller.replicas=1` diff --git a/charts/index.yaml b/charts/index.yaml index 3dd25dbe9..fa03d4e0c 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,17 +2,26 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: v1.23.5 - created: "2024-06-07T09:11:51.029820782Z" + appVersion: v1.23.6 + created: "2024-06-24T01:44:37.99531678Z" description: Azure Blob Storage CSI driver - digest: de2afd7775b69b95903e205ef92ed1c66fb9e52bf096c965a5e3c625e4c37af2 + digest: 0192b6060149588ad436556235f9c68362b4afb719ac30e8892f58712b426005 name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.23.5.tgz - version: v1.23.5 + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.23.6.tgz + version: v1.23.6 + - apiVersion: v1 + appVersion: v1.23.6 + created: "2024-06-24T01:44:38.011250633Z" + description: Azure Blob Storage CSI driver + digest: 0463a9ae45b7a6650fe711de8d9912f5f8d73c651a4bba07e3ccedf186d8980a + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.6/blob-csi-driver-v1.23.6.tgz + version: v1.23.6 - apiVersion: v1 appVersion: v1.23.5 - created: "2024-06-07T09:11:51.046476484Z" + created: "2024-06-24T01:44:38.010625499Z" description: Azure Blob Storage CSI driver digest: fdfdf86606bb908ce12f4c0572c6be1928b76420694cbe8f53ff18f841ea8d81 name: blob-csi-driver @@ -21,16 +30,16 @@ entries: version: v1.23.5 - apiVersion: v1 appVersion: v1.23.4 - created: "2024-06-07T09:11:51.044980463Z" + created: "2024-06-24T01:44:38.01000569Z" description: Azure Blob Storage CSI driver - digest: 972df33b9e5b2ff76874e0b16a7d986453577a74fa18207c49551f7c7c38fe9c + digest: e79f3390324ed330c0931f2784e9918e90707f58377c93c7bc8157229586a379 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.4/blob-csi-driver-v1.23.4.tgz version: v1.23.4 - apiVersion: v1 appVersion: v1.23.3 - created: "2024-06-07T09:11:51.044183254Z" + created: "2024-06-24T01:44:38.009381583Z" description: Azure Blob Storage CSI driver digest: 7f9c641bf822c5421fc291dd65cbf274bec66ab363078fba618a9ce7dec400eb name: blob-csi-driver @@ -39,7 +48,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2024-06-07T09:11:51.043544781Z" + created: "2024-06-24T01:44:38.00873002Z" description: Azure Blob Storage CSI driver digest: 8fc6f07673ef7afdb8cd77331f0e67c3326d4d21499f841c105a4c45fdc3b95f name: blob-csi-driver @@ -48,7 +57,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2024-06-07T09:11:51.042920095Z" + created: "2024-06-24T01:44:38.008113678Z" description: Azure Blob Storage CSI driver digest: d0345309791c22d197c44e5d74b7acd62ce652b3a8756d08bf878f85adb0de7b name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2024-06-07T09:11:51.042291959Z" + created: "2024-06-24T01:44:38.007494508Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.2 - created: "2024-06-07T09:11:51.041672438Z" + created: "2024-06-24T01:44:38.006840131Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2024-06-07T09:11:51.040992194Z" + created: "2024-06-24T01:44:38.00530909Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.4 - created: "2024-06-07T09:11:51.040388699Z" + created: "2024-06-24T01:44:38.004654146Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2024-06-07T09:11:51.039784969Z" + created: "2024-06-24T01:44:38.004057186Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.5 - created: "2024-06-07T09:11:51.038651333Z" + created: "2024-06-24T01:44:38.00303611Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2024-06-07T09:11:51.037421283Z" + created: "2024-06-24T01:44:38.002451176Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2024-06-07T09:11:51.036328653Z" + created: "2024-06-24T01:44:38.001830933Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2024-06-07T09:11:51.035616998Z" + created: "2024-06-24T01:44:38.00124041Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2024-06-07T09:11:51.034895708Z" + created: "2024-06-24T01:44:38.00059735Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2024-06-07T09:11:51.034180687Z" + created: "2024-06-24T01:44:37.99916351Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2024-06-07T09:11:51.033462569Z" + created: "2024-06-24T01:44:37.998569454Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2024-06-07T09:11:51.032695668Z" + created: "2024-06-24T01:44:37.997966367Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2024-06-07T09:11:51.031977984Z" + created: "2024-06-24T01:44:37.997359378Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2024-06-07T09:11:51.031264347Z" + created: "2024-06-24T01:44:37.996712549Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: v1.9.0 - created: "2024-06-07T09:11:51.050919055Z" + created: "2024-06-24T01:44:38.016488155Z" description: Azure Blob Storage CSI driver digest: fca0b9215d3277346f68c643fb3ead75158971f0d1945ab01ec559196f3cf842 name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.9.0 - apiVersion: v1 appVersion: v1.8.0 - created: "2024-06-07T09:11:51.050336583Z" + created: "2024-06-24T01:44:38.015910781Z" description: Azure Blob Storage CSI driver digest: 3b78e2ab4f33577c54d4f57276c824717d2ad2aa3741210e938fcaf927bc751f name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.8.0 - apiVersion: v1 appVersion: v1.7.0 - created: "2024-06-07T09:11:51.049758711Z" + created: "2024-06-24T01:44:38.015336257Z" description: Azure Blob Storage CSI driver digest: 28da5b55c3d2689d6da85eb7da344385e9cb99bdb2af18c24fea93670abfe7ea name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.7.0 - apiVersion: v1 appVersion: v1.6.0 - created: "2024-06-07T09:11:51.049168426Z" + created: "2024-06-24T01:44:38.014765129Z" description: Azure Blob Storage CSI driver digest: 6f24f2e6623f6f8862e47d4fbdf13b5f351ceec6bb9a4591ef7fc2fca9fc1eef name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.6.0 - apiVersion: v1 appVersion: v1.5.0 - created: "2024-06-07T09:11:51.048583857Z" + created: "2024-06-24T01:44:38.014201673Z" description: Azure Blob Storage CSI driver digest: 95d14c9b70b319760d388ea47727c8c97e9287867a8852aeb67b7175b52fe8f5 name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.5.0 - apiVersion: v1 appVersion: v1.4.1 - created: "2024-06-07T09:11:51.048057608Z" + created: "2024-06-24T01:44:38.013657079Z" description: Azure Blob Storage CSI driver digest: 5fcf69c449f065fa1d5722e5a7fed8a28000efa790907e9ff4b552c5fbd16d22 name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.4.1 - apiVersion: v1 appVersion: v1.4.0 - created: "2024-06-07T09:11:51.04754718Z" + created: "2024-06-24T01:44:38.013113067Z" description: Azure Blob Storage CSI driver digest: b466543344a6411f6130ba87b093955d39ab8614c6b4ed8505a0a0c96073cb33 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.4.0 - apiVersion: v1 appVersion: v1.3.0 - created: "2024-06-07T09:11:51.047013067Z" + created: "2024-06-24T01:44:38.012213739Z" description: Azure Blob Storage CSI driver digest: 58d02cb70a3a966b349d62e880b7149fb06ac009474e35e580784fd3c98a5b07 name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.3.0 - apiVersion: v1 appVersion: v1.2.0 - created: "2024-06-07T09:11:51.039165673Z" + created: "2024-06-24T01:44:38.003479915Z" description: Azure Blob Storage CSI driver digest: 27fb89f20b5fddc7329e6d7c2374857b22c1d61592e397a53f47121eea68c344 name: blob-csi-driver @@ -273,7 +282,7 @@ entries: version: v1.2.0 - apiVersion: v1 appVersion: v1.1.0 - created: "2024-06-07T09:11:51.030611264Z" + created: "2024-06-24T01:44:37.996073071Z" description: Azure Blob Storage CSI driver digest: a251a55243de207c69ef53f72abee45e93b72fa4fc43dc204b7f1cdfd459acdb name: blob-csi-driver @@ -282,7 +291,7 @@ entries: version: v1.1.0 - apiVersion: v1 appVersion: v1.0.0 - created: "2024-06-07T09:11:51.030137625Z" + created: "2024-06-24T01:44:37.995616536Z" description: Azure Blob Storage CSI driver digest: e83f037a165eafc83a978bd7e6bf6221b052ac34363aecb12e6a73607dc58b89 name: blob-csi-driver @@ -291,11 +300,11 @@ entries: version: v1.0.0 - apiVersion: v1 appVersion: latest - created: "2024-06-07T09:11:51.029137962Z" + created: "2024-06-24T01:44:37.994636807Z" description: Azure Blob Storage CSI driver digest: 33f05e6b1a28a17af824be063512ae8e3ec14e6e5208c11bf0aabc8767d77346 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: "2024-06-07T09:11:51.028265371Z" +generated: "2024-06-24T01:44:37.993829238Z" diff --git a/charts/latest/blob-csi-driver-v1.23.5.tgz b/charts/latest/blob-csi-driver-v1.23.5.tgz deleted file mode 100644 index 0d004ec00f14ca5dce47140de6b843ba2073160f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6002 zcmV-&7mes2iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PH<&bK5r3{j6VsQF?Q|dqTbWB|XjfgJUVFCXVcpob>MLbUYBb zl5i#g7628iuK)Wp07&s&qGZKR`w0Eem|W~Gz}>}Su?tOHHnD6$EQgZ?@aDxFbJB)EPs8-Uoa0a&m9?RLA>$?E@c>&-#`pQ8~E&!AgF zXo3Zdz-L|L*}UNqn=`?tvSBk%y>;0{K_SG!XM#w^mtE9kLNxD!32+J$gp#9XBv2Yy z;#sWq>VY4)?lp6Xz3igFbjaj22LV*p5V8fi=4?TfsQ_M$m=at+?v$W;(r7i>n@GB3 z0ThI|=4=AhC`Mg;)g?i%(`X+xTAK(`=0Hy?+6ZPuNRGD{sOlW5sl}u2X%^a>S+E5e zfgrzcGsWC=NPW_Fd(-^ZY?lR2xMW-h6PMT*>PfBk>J=Kn6gW^DkYtEaK#U`gaXqPdj5=r$8vHwbGw%oa_F#hqx{j84fc;9&X8 zv1~>qCKPy6;j=U{%jaZ)B}9|DY}WMi>%eu#hMO+><=5IPWFfP_dCTzgEkD50fDEw* zwVD9FAU2%aHVdd!6Kr$961qt80MIM+vl@!}_iGfwB5Z&K`a)b+joEZ@(3EksWI+Rs zL8|GPVpjknQ}qyi!BjsC1gO6`Vqa)O(PLC{=DNVU>Qh@r9aj%6fzd0Zm_=-g#vuzK zzu}xm^cmOFABt@PofgC$5Y_ku+u2D`=vQ8Y7L5zVsjb`%g&I@JBvyZEnZS;t|L3|$ z&H?$%5jCGV=P^_lJv`>oxOf8YIt-T@z;s5Ig)RainV0EDsAR|ki5)C)&DJ1^jtIR% zcRvaX`+nXFQaoM40<_PB(KRQG6S=%_vC#N|3gueqkExhKBH#<#PZ}J9f>QpX6t#zlc~037%!Ufsnv0n-fWF>?-PGumc6H zTn1FVlnn8JqLtDiED&XsGbYhwi3CWgR2nO#*XS+`Hbr5wL~xHi z-v!iFe`i3t=t1E=7oUU@^>(Y(Mvt{T&||HZP>GeW6{v=iOJ$xe^nAry-9=a#FiXEQ ztBq3*EqrW47pV_onfa?BC2Quaq;3e2kgpu4A!aX z^}!`J7G0$O3g{L6h?P8ajX{bYUKoC^T}&Z<<+7QQdAEyBG%h2_!jLOk@fBYlks|s_ zG4JWc>7>>ANW!NaehWY(p=>`;QsCvfb)sGc<1HuFej>5hUn-~3c_NMMO8&K`4o{~< zsdH%Jl=UBjGOdhL3eH?;q%D-EC8!=!WWMUHu+{tbL`V_6 zfaw%$*+ums8{2bm0vGC)@Q2FbD`EWVRIDeEsp+LPZWlW?hbQ_5r9u@YZFMX&~U5v-{jpN2iy{KEKpkF8M*l8R!TBf4_`4Qh=`9R+h7lwhC=;>u% z)cE!kcn8S$3IY}42t;2Yt-w%{q+7d8VuiEy+%KukA{Qc``4&H8eNT)$EDon(7b3S z)Pwl%noDSKuSTP+rVFx*nhVUEE}1mLCpE3plCv&yU_vmh)s+9{GVHAEqqfKds2ub{ zGOy4tOuO6I{S^(S+Fw3D?55HBLe*&|f<7itS8 zfvWu=7Wz@>uxo-+Z8(M6Kx&Xd4}BqWuEDmW8j=|Fl>CLb^srt!f^}$5Y1#O%1kZP| z1koH`-So!|c`u(#W7GN1(P=jRdvbc(KE!{YqunSIwC+qtnVVU-5p}?K*%Ea8M8_#Y zOVg;;ZWyxXVBc*(W&#@$%RszFz6)4@+CFw`p|Q24i!6&qe(Tx818R&w!!=gkEP8xY zEE!~$CBnt=tj-N&t`~ZItRu_P%lE-vrCPcE-_F7Hfs2OppLi6sLH|2Pr^gxnKRr1) zJ?Q^)w1S_SgUEU{=JW>qkRV&27a}>p;HDl z+{1%~9GDUcsIGlL1y@H_{0axIL=BT=pjET+*_=2k$g2f#P8>jgC`Xmr==4bclX%8C zM0G1h2Gr62*1Xj&bV%9oVz^VRh9}R;G14aqlV!}Y3GFs&#f)o^n3&HAl~Yvzo3Q>S z>gfTPe}_9p^oNd^DJxa~pE|1F)^`~U^E{^9He=XC8Iuu!2|*id*!MGG3gePLJfKLo zQ{Se63OngdGPO;|tT8QT*@Vl>_;nL}s+WY?Zs3%Sri3$_c|N0h1CfZX=iz+JrNyRO zk395zt;sSy_UMcw;(Z!@`SVrIL@~lu`h&uj>+%QsEnqS=tB;R0wf|{|c~gsF(GWuU zY$VwUH7R*4VO}H2{)0Vt4aACY>dP9n_XF2m9m`D_kK_3Q6@ON#?3lys@tPu> zJ95*VIHogL+YhZy<<#_+j3zy>m$tdzQY&Bo3yw&3Obc1R{&!k$PEXV8f2ZAQ9sK`i zX?KJ=UDVT#y$4j*k_lnh_eFEju0(1S}y)Tlu!q#M8^tT_@Gal;}fi6^wE1mB3gyIVOUq%^UDOAl^HE!HNV2e zET5W=k^Y6`6BDlkjww#I;HB!s{g~?#TkULss}V)Fl6_3TF9K~u;iIOG&(|dnRtF^p ze`uXcNUqN1BMY8c$l~{FhLBhQ(x?+j196{3zCpKO>CANd10|_u24nn;hzfNF_F{I+- zs}G-c!Iuow4^zRkGKw|ulK5D;w@K$V`rPRRjTP$xY~|QrbEfv7@pFXKezc250hPpqp4maJ9be*fBqp3X zGTCCpv9BBRWF<~(li7#iXP#qm%|Y+*n)S3=HPR^$jX3!(X|zH;?V@^Oa!vmzOA|dl z=H9Kt-Q5H&@eDma*3AUC0xI&eKbq-v03pn0A}I!H+UwThtW(cD)cz}W91cR9egDIG zuQ%$C$Nwk*bOAfSEeI3CHbYbhMHV1YlF9;k*6y@gqToH;OO7p*1!qNT{8@T&TmkEo zd+ZbIH(#8cwAMjP0xslPyHx}fp7~ib<=mhB#3l0arO2sxbj*=H6yzr4(uqUem@ zGI_}rEKw>eV84cF4eGp2NCWR^hW16ViV;ein=)xPkos$^%)yb!0nDZJEufCi2$g3p zv$3n(q;9bXmF7Iorzx1FwThO;vx}as(InN%)o=$rOL6XG&LqJUBZ@ItLZ1~BAj;&;lyIa|1Wg9G zWkR@Cc36ptDNG>T4s+})RYbqWjna9D7I?l~rs$QRFHCC8VD=f$8?%*2u-15 z5rSmi`J72+Gq;OwF0K>r3e)mTn_}Vy9B$?u#GJW~$&QShS~cE-%-Srya-h{BlI6pg zW3y`fo_)Dy)V7CV@UXHkn@R=a;wd2ABOJ-}D`4UUts(4sS|kAF=-dmLr(v0iw?vX5DgdEVV~1fYa&1 zYMu+;MTuXDoYCw+l2)$Rw+<+|?>3v|PDi*lQOKH$IOPr1>)9_CG4RvP&Gq>9dUW;g z{}j{Do1p~W4AQ~{VgrX&7~Gz}ZP-f-)%&a4aqq+J<<|9ZISzsU5Yf^$) z9pY@5#8gzDg2Om|URD#xE&ne25wisRJJPhVC3zrZQwK$CnfW5yPs|QG3?;KKyRk@C z*;Wf9hNVAy4TXReu7c65PEkXkU7I4n^ zna;2O`^(1UqPhRp;{-9QFQLn3779)Y3J0$@HM*MT;W5{vaB)%|y`HJG!@POPGv_Bg z!u5gA@`{^OxfRS#YhLjpvXRI9ic)?Cyv@3{H+IU`uZ_qyEM}VyZ8L&deq>gp582Lz zr{M_>;{1;a`9GmgyZe@t?2x;IrNs7p1iuA@gA><2`pg;7DZ8S{y0%<3TY|Ch_^XkEFf1C& zeMzQZFKrh-G6z;=b=PWMgfv&Ds0V$24jypq>N31LprcfMpM`MX5YUOU*eBg)Q(MvV z-i?Co-`jIcXYdWxAXLzQ${cvog;4AD|ES$L&es3DIXUVa^#3_pnE!{tV{{BVr2lE@ z*k|Hj2H{R-BhZD`W680ESy(Nu{6#`%rUpA&#j~aBSw7P5BaXt9lqAAkG6!=beUY5O z0xk~Of-jaWSU9kkNazb$U_31-1y?i_0mL=u=@h~1K`#}@S)WIk0CcE`R`n;nCPt7F)$^q&HoX}Z#eF&km!HlxihS#K6(H$k0uay0e{ZJl% z%tg~OS1(4*W}b(slM7Wg(^K74U#KDG^{U}3pOXb~VWu`pxmfwr;?!#bkG=le!TIp^ z-RNp~(;xPV1CVvfD4`NKwk28Q(i{z@!Ek(YetCKO_VViOyHDf7Gu-so(^`?b8K{xD z-KQYlYKTQdZa?=& zx&3(l@7t^E{!kxx-VQ%~+-YpNtDH({Dtb>M%-XSI&f`fHw|b}Z{DeDEFx+BX3E?y6 ztl`kn<73lzgBhWsS$e`##Kc$02Z%eTzQ}qMNzh#lY=J5sY7oBVU3irm1hYc#tNI|l zZBO=0?}*kSG5eqlt{l(Rc1v|j8%^SzegDIUPjCCT!>eBZc6k1=UqpG=YKIE71)Art zQB_cmcuhUQw^yH0rNY5PGAqvwnc*w#BTkE&}`Jy5Y4|OnKqYmcfj&Yu&0%zThvT(P?nU81K z{J`W};^DXA%9C3n#*@r3 zUp7}iq}bH{VN?HbSems+5S9Cwd!5GUl1bBJPT)dzHltIHiBg*gL(Q-B4h)#&z1A#ho}P@tmGKQMd6gr|!a5X+(cL zV^6AjTjT##o{m%k#_A`$(&AC-C?3l0UZ(7Bd&h2r6joXvs*7W8{jk>hc57KHa~G?W zgnomyiifuUR$l+bC)l?3atZu~`p?s&)1&PD?{8X1hx)JQXc^5`AH88NCe=UO5Eg%$ zpLrTF7g7ac8X5<3&N%s9FW-r}(X~}$x@YK2S#U3bQ|u-$)72Lr?_NL3mCftwABVs` z(Iuavi+-usf7O^08;W1*{;I|^bd5ux1@MUmn1QUnMs=46{eQi;Q2#LVr2ge7hX{1P z9SG_>SSwRCwQWVT(zUxqltT#H#X?jZXT>qW0;t?!=EBjuMs>f8+~#4~f~Zw|uLF7# zLYpz}5SmnpA{x3jaxarsvn;EY*Vea$I)u)?hSFv(zqTeJsohJygUNrvmZ8>~p^Q`2 zTea9v+UAP*DkZ7P+JxsRd6V}P`xS}Bnt3n#cwg1jhL;Wf8O&@26R~G2`y>iY^YeyT zLOYJ4*sea!pgy~GQu6)WwrM{C{ueMxnTe=ukoIbi)E6oJTC2&4Qof$gD1|?3RwCq~ zO#fOkA$ySE?dIkG!5X`hpj46RhlfKzp`caW|3Bptm<{{?_R&!%d;in%(eYvb{~T?@ z{{LAQ0$u3wEiC~rWcZWw@U58qGzWlruDDWwzvP=?*um5|C2Wv``Dc zVQyr3R8em|NM&qo0PH<&bK*GC_nBXzV)p9x?iurvx4EM#ACkb#Qj;MRWM=Q4t*w-> z8_>m;ypqg>&E~&9CCSF`U^Gr>+Ix2|G(90W&hu5pPl}xeR6hu);@W6rk=M?)Faf|9}DFz5EAo0wVq8Y zJGlRlhJEq{xFC#n(4t+#zMuHBadg}`t2rQSPJF2!Ui=<#K$k9?ps{2e&j4MG`^ZR7 zjbaZvC?iv~MHb_05BktnEvx?v>;@qAYXH{kf4kjo9cA_ZqZ+neUMX1gqK!X;xEOk84LsVBACn>T0#Q{X^tK$0Ow0Wpp|#sLYiIY^-% zPXGl19Q1V#RFffehP1#6g@VJhgXU8DqSH)p-5{*#Fk3Vw7WblQGdd-+fP>{T$Fdof zm{8zNh0oH+ET5AFmJm(qvRTv5hk@&k4L2S1%dfRJ$U#J(677(EgDyfQ(L(k3N@ybNv!_TGJzdO|Ic-ioCETi zBWgZ#E@G$-dVI>Gaq$G)br`NSfa#1Z3ta_5GB4AQP|1)75<6Jpnyo<+9T9qi?*A?< z?E85yNbz(H3(!6jMng^*Cvth^VxjQ^70R{JA5$@fM8Fqh0f>WO0k;8(Ipeab^xKTu z;LBJ6^z1a168Ir$%jW=|cI=upKgrKPe-W`15L8UiQoZyz6+?M z{?34O(4)eAAwCNw>g`smjhG_Jax`VJXV3vMqRvV`r zTKL$84pJY)GV@nMO4iudp69FCUG-Us|C|Xq0Qr^i`<0!Lb0SvrW3#|@ltMW~;E4;4 zG6FH<$YG%7RU!v`pblabeH! z(`l>qiG)u%{1$*nLfL+xq`=E{JBoT0jJKRv`y@Nlxbx=d?c9*JhZ+Vi-qoC*+F%^QgG%%BWXgg;acUkT$kr(!*WOieGXd9$P*znVePZ~N3G6uvMw@ZcjXFKiox z_?gIg-vKJMI7CYB;fK!@FEDYHb?TsYHS2PmvkyQOf=ic8rh$MVXAjF2Q&)CQ&P@5i@GA6B?NfHWpyEV0@a8Ck3u7q^r0JQ%EyhT4>j0XL|hqtIV8r_VP$EDon(7b3S)Pwl% znoDT#phlytrVFxznhVUEE}1mLCpE3plCutSU_vmh)s+9{GVHAEqqfKdsO)z`GH=i? zOuO6I{T216+F!o7=qhDbK955HBLe*&|f<7itS8fvWu= z7Wz@>uxo-+Z8(M6Kx&YF7kwpiuEDmW8j|RDmHdUc^srt#f^}%mY1#O%1kZP|1koJa z-1f!|`5>Q7W7GN1@mV(hdwOkuBkF+fvL)#FiH=i*mZnjw z-7;j)!M@*s%mg+hmVtPSd>60)wSDZ=LSt)77g-jK{MPfwN7NXBhHI?6S@iUzSTe{g zON5K#d7T@`Trc$WR7aMjm+ynUO0{zRzng>W0~ZbHKl3PPgZ>{KpPgj%|LpYa_@MtU z(H~`KdJjIPj`kgB82HuhhE5sKaF34` za$rg*pt|+}6D z{vGZZ(H}ZurmR%`f9j}ySKnnY%=4IX+l*loWlTl@CIoG;Vc*Y$DU3`0_=qCiPJNpO zD(s{;$<#I-v&OWXWfLwh@>mlm6DJ@U}= zwI<8-*rPL!i1%sq5>DLKtF@{upeD&ee zE*KLXq=UL;f|fJ~@ey}Ikk+4MhVk9h+>}domRR!WyaLJ8v11A4bwZb%u#A7WNze+C zL=qn>_crO=MxQ&Kps`|IfUO++A!lk28b3!!?MFLk6i`V#=$akm+VLe$M`FUMBaLD_Ko_tB+=4JMY%@fKP-FoTC8;cs=k23bOBB3^2g$Kzvf!*}jXzH>jw@h&a*ust z{pO4F)7CnONx+3XZ?}qo!ZSZ>rkwlppBQC)_+h7y@S4O?V*fqcp>%Mo%>x`*=cJA_-(hgOJ0SpM7Sbi|gy0DT>bcEt8jA z!4jpi0`_Z&)}YSYgf#GuW@uj&s~DlQxha!&1F65p${ZYv9Kc*k-va9Rj8J**G8? z4cZNVwME-noR`RRnA1_bimue+haa!T{kz_vJG|)+Zj09SFu`@Dm92*UuSAU!>9EC= zO)N}(@+9NtX|%B}azk`j)iQ|`GoZ4dcP0s@7*UMD68fy508u7yri3G%B4{$eEfd1E zvcpPDOko1yc9>&dsUrF{Zj{bLw7~P_GDWWhePL2#2D8t2-k7a?e3P44MQ92gix4F9 z&gV=ro4Flydo@hFD@@BXZHkE-aJZdw5Od}_COa~2YSs7vGHbK+%7IpkNR|&{j?Jp^ zd-mm;kyl%F5F(UFg555-csT}}QAc#paVrHAE`_Vt?euFOIAKn4=W=iKe?O0UcUPlc zw>P-$UtHh4?_c+deAD-wdD%JBJG?2GeZu}nSdL(t2Z%mzn03p+vD6;508Xb1t9dSX z7bSiraz?WQNm{vL-#Vb=q0?-ZJ00QLL?LS~;*>X3uV=qp#K2Ftx5M$>aCGy}e-+cu zo1p~W4AQ~{VgrX&7~Gz}ZP-f-)rXtAarfih_05O7>)w~%byceQw8fHXfZt+`Q$`Eb zb^gp)V*6fOvC^q94E6?J`lFk{r{3UJi~aE8_NS6<8Av-(C)Cs|3Pnc~Zv0y?x_N>& z`1{tu;NSzw`l{H*=2$Qc5bMZ6%zTmUCuWBohLYLW-B={6Y^#M4 z!_uFtU0ER3zo5t7NLOv3pi)|T<6#S z<#l6n(cFLUae|oD*U)7%3k9bHg@f0d8ePrv_>}8WxHu_~Ue8q8Vcxvtne&q_;rhU5 zdBaVr+zMu=HLrLP*~nvlMJYc6-ez6f8$0Fe*G6O;7PC!@t?2x;IrNs7p1iuA@gA><2`poImDZ8P`y0%<3TY|Ch_^XkEFf1C&eNCod zFKrh-F$Y#t?E$@SmYjWlR&6g z+%+T&>A&46jMCqB}|~Un%<``=LDkn2V-m zu3n6q%{&iNCl{)0rl-28zEDHV>s7;7J|_#}!c1+Ha9=pBE{>9+#{peM}wA0vfS2>l^RP>%j%Bx1F+aF(CUia=k54#t)z3$~sv@-WhWr%GK z)GP1H3dFiFy#i@wL9+cVorF>WOEV9c!UfXage3-9m#d#ikd5)ZM7HFXN85+&-T##A zU7ZVM`HZJh{j_3M&6-kp7UxGPXMf$%mqz|wCdU@vPhCNn3+{~DuSjnskQcL}E<1|% zx1hegsK-a&Ik0fMwfboK9NWioe*VLc-BJHbZ*({6eYhLnTz$M7Uflka$B-7_HJOd@ z5C=I{(pTgT8_XN-J>Ty@A}k(r;Jg@BX6@K9=kc_PTfNhHe!`t77;Z7Hgz%Yj)^O

8a_v!HiJREIr{VV&a?R1H_$EUt~RsBny>`O& z4Z&tOC2E^G6scEpn7)Hjkgc{eha!;IF9OMhIMb`oW~}K&=ul-+iN9T{Owx;Ub#a{% zaGer4&HSQY9zb_C9(g;!$SpRQWw6+q))bQ7Y>Z-1Ud)MNZT^@6yQ(CB0aQM5n=p_ld@c?)e zrp!U`nnU1Cg*XWu>p-6s_D*kSHxyW{ah-N&aVHK+Jf~+*)Ls0`sk^XM8qr_R*t4qM z*7$#wrz4esvHA(Gw0M*{iifhh*D1T(-m%*tg_YKa>f)GNKdiOB-CEYl+{G#-q2FPx z;-T%omDhjq3AU}hTmrwL{`2hk>^OV>`@44QQ2+H3Eu-1$qc_aOr22;&!s1W!GfyMt zLaIPaL*qcs87IH%|F8EJ>K|sF)W00%5P|Nu13`TU zYh|jYwylU(x^}mSatL9&Scr<_tT-lE0F^t;TsWGysP31M+dM2=5VeZ$bwJNTXfwtg zLX#>{L_^m`?q$+ymSxrQ+ImT-L+I>VC~fBQYikmc+P&mEnEV@T8EUN=$~aZMRg3+k zZLWx~Qj)5yO?aM?H+j#oUy)d>nfJ1f_f1W0c-hc@f|;#gBKB-$pGBc*e%>%kXva|$ z+tue8)EBo-O1@v(Htk2i{|k&#W+EyZq`lfB^+ig*)@pL1l&_aFO5x9%l?Zt#)4!HX z$Q~qkyLtJ4u*U8rC{<+o@$nE)C}>sp|IfJuX2br!eSCbBz5nUtqkLQ9JYlK-1cs&YWGs5E`M6r&7il4lbVpVTx{Z4 z0>xE0HgFqBC(%7_`u*gCY5nhM+uQ%`cLE#j|LMDo{XaTAJwDj~muRnM|6_;pVEGT0 c|IiNY&<^d;Uby{V00030|4=~gL;$J)05MnHX8-^I literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index ddd3eb31c..3bbe103eb 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.23.5 +appVersion: v1.23.6 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v1.23.5 +version: v1.23.6 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 06c100498..0244c7b2e 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.23.5 + tag: v1.23.6 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.23.6/blob-csi-driver-v1.23.6.tgz b/charts/v1.23.6/blob-csi-driver-v1.23.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..da3520e47739912c0ea7f84f223794b0c547fdc7 GIT binary patch literal 6002 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 literal 0 HcmV?d00001 diff --git a/charts/v1.23.6/blob-csi-driver/Chart.yaml b/charts/v1.23.6/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..3bbe103eb --- /dev/null +++ b/charts/v1.23.6/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: v1.23.6 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: v1.23.6 diff --git a/charts/v1.23.6/blob-csi-driver/templates/NOTES.txt b/charts/v1.23.6/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..9ad135dd4 --- /dev/null +++ b/charts/v1.23.6/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.23.6/blob-csi-driver/templates/_helpers.tpl b/charts/v1.23.6/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.23.6/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.23.6/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.23.6/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..4d9805501 --- /dev/null +++ b/charts/v1.23.6/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,230 @@ +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.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- 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=1200s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + - "--feature-gates=HonorPVReclaimPolicy=true" + 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 }} + securityContext: + capabilities: + drop: + - ALL + - 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 + - --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }} + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - 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.metricsPort }} + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: {{ .Values.controller.livenessProbe.healthPort }} + 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 }} + securityContext: + capabilities: + drop: + - ALL + - 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 }} + securityContext: + capabilities: + drop: + - ALL + 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.23.6/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.23.6/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9c5de5b91 --- /dev/null +++ b/charts/v1.23.6/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 + fsGroupPolicy: {{ .Values.feature.fsGroupPolicy }} + volumeLifecycleModes: + - Persistent + - Ephemeral + tokenRequests: + - audience: api://AzureADTokenExchange diff --git a/charts/v1.23.6/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.23.6/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..aad8ecee4 --- /dev/null +++ b/charts/v1.23.6/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,340 @@ +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.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- 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 or .Values.node.enableBlobfuseProxy .Values.node.enableAznfsMount }} + 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 }} + 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 + capabilities: + drop: + - ALL + 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: INSTALL_BLOBFUSE_PROXY + value: "{{ .Values.node.enableBlobfuseProxy }}" + - 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-usr-local + mountPath: /host/usr/local + - name: host-etc + mountPath: /host/etc + 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 }} + securityContext: + capabilities: + drop: + - ALL + - 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 }} + securityContext: + capabilities: + drop: + - ALL + - 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 }}" + - "--enable-aznfs-mount={{ .Values.node.enableAznfsMount }}" + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: {{ .Values.node.livenessProbe.healthPort }} + 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 + capabilities: + drop: + - ALL + 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 }} + {{- if .Values.node.enableAznfsMount }} + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + {{- end }} + resources: {{- toYaml .Values.node.resources.blob | nindent 12 }} +{{- if .Values.node.enableAznfsMount }} + - name: aznfswatchdog +{{- 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 }} + command: + - "aznfswatchdog" + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: {{- toYaml .Values.node.resources.aznfswatchdog | nindent 12 }} + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir +{{- end }} + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-usr-local + hostPath: + path: /usr/local + - name: host-etc + hostPath: + path: /etc + - 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.node.enableAznfsMount }} + - hostPath: + path: /opt/microsoft/aznfs/data + type: DirectoryOrCreate + name: aznfs-data + - name: lib-modules + hostPath: + path: /lib/modules + type: DirectoryOrCreate + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.23.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.23.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..833dcc640 --- /dev/null +++ b/charts/v1.23.6/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.23.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.23.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.23.6/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.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.23.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.23.6/blob-csi-driver/values.yaml b/charts/v1.23.6/blob-csi-driver/values.yaml new file mode 100644 index 000000000..0244c7b2e --- /dev/null +++ b/charts/v1.23.6/blob-csi-driver/values.yaml @@ -0,0 +1,180 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.23.6 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v5.0.1 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/kubernetes-csi/livenessprobe + tag: v2.13.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/kubernetes-csi/csi-node-driver-registrar + tag: v2.11.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/kubernetes-csi/csi-resizer + tag: v1.11.1 + 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: true + blobfuseProxy: + installBlobfuse: true + blobfuseVersion: "1.4.5" + installBlobfuse2: true + blobfuse2Version: "2.3.0" + 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 + aznfswatchdog: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - operator: "Exists" + enableAznfsMount: true + +feature: + fsGroupPolicy: ReadWriteOnceWithFSType + 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 + +workloadIdentity: + clientID: "" + # [optional] If the AAD application or user-assigned managed identity is not in the same tenant as the cluster + # then set tenantID with the application or user-assigned managed identity tenant ID + tenantID: "" diff --git a/deploy/blobfuse-proxy/README.md b/deploy/blobfuse-proxy/README.md index 005d32d76..d9afc8f39 100644 --- a/deploy/blobfuse-proxy/README.md +++ b/deploy/blobfuse-proxy/README.md @@ -9,19 +9,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.23.5 --set node.enableBlobfuseProxy=true +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.23.6 --set node.enableBlobfuseProxy=true ``` - kubectl install ```console -curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.23.5/deploy/install-driver.sh | bash -s v1.23.5 blobfuse-proxy -- +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.23.6/deploy/install-driver.sh | bash -s v1.23.6 blobfuse-proxy -- ``` ### Enable blobfuse proxy on existing Blob CSI driver - install blobfuse proxy daemonset -> blobfuse proxy is supported on CoreOS(OpenShift) from v1.23.5 +> blobfuse proxy is supported on CoreOS(OpenShift) from v1.23.6 ```console -kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/v1.23.5/blobfuse-proxy.yaml +kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/v1.23.6/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 63d3c1322..8aae7123c 100644 --- a/deploy/csi-blob-controller.yaml +++ b/deploy/csi-blob-controller.yaml @@ -81,7 +81,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.6 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index b18ee5569..7818d577f 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.23.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.6 imagePullPolicy: IfNotPresent command: - "/blobfuse-proxy/init.sh" @@ -131,7 +131,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.6 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/v1.23.6/csi-blob-controller.yaml b/deploy/v1.23.6/csi-blob-controller.yaml new file mode 100644 index 000000000..8aae7123c --- /dev/null +++ b/deploy/v1.23.6/csi-blob-controller.yaml @@ -0,0 +1,158 @@ +--- +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:v5.0.1 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=600s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + - "--feature-gates=HonorPVReclaimPolicy=true" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.13.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --http-endpoint=localhost:29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.6 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29632 + 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 + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer + image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.11.1 + 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 + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.23.6/csi-blob-driver.yaml b/deploy/v1.23.6/csi-blob-driver.yaml new file mode 100644 index 000000000..d2de725d8 --- /dev/null +++ b/deploy/v1.23.6/csi-blob-driver.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: blob.csi.azure.com +spec: + attachRequired: false + podInfoOnMount: true + fsGroupPolicy: ReadWriteOnceWithFSType + volumeLifecycleModes: + - Persistent + - Ephemeral diff --git a/deploy/v1.23.6/csi-blob-node.yaml b/deploy/v1.23.6/csi-blob-node.yaml new file mode 100644 index 000000000..7818d577f --- /dev/null +++ b/deploy/v1.23.6/csi-blob-node.yaml @@ -0,0 +1,219 @@ +--- +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.23.6 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "true" + - name: BLOBFUSE_VERSION + value: "1.4.5" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "2.3.0" + - 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-usr-local + mountPath: /host/usr/local + - 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.13.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.11.0 + 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 + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.6 + 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" + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29633 + 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 + capabilities: + drop: + - ALL + 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-usr-local + hostPath: + path: /usr/local + - 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.23.6/kustomization.yaml b/deploy/v1.23.6/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.23.6/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.23.6/rbac-csi-blob-controller.yaml b/deploy/v1.23.6/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.23.6/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.23.6/rbac-csi-blob-node.yaml b/deploy/v1.23.6/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.23.6/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 a90565ed9..c4db833a6 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.23.5 CSI driver](./install-csi-driver-v1.23.5.md) + - [install v1.23.6 CSI driver](./install-csi-driver-v1.23.6.md) - [install v1.22.2 CSI driver](./install-csi-driver-v1.22.2.md) - [install v1.21.4 CSI driver](./install-csi-driver-v1.21.4.md) diff --git a/docs/install-csi-driver-v1.23.6.md b/docs/install-csi-driver-v1.23.6.md new file mode 100644 index 000000000..c20cbb41c --- /dev/null +++ b/docs/install-csi-driver-v1.23.6.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.23.6 version on a kubernetes cluster +> `blobfuse-proxy` is supported on CoreOS(OpenShift) from v1.23.2 +> +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.23.6/deploy/install-driver.sh | bash -s v1.23.6 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.23.6 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.23.6/deploy/uninstall-driver.sh | bash -s v1.23.6 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.23.6 +./deploy/uninstall-driver.sh v1.23.6 local +```