From 3083c3cc469a9cc8e7b637df20e7eb13c0ccfbe6 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Mon, 12 Aug 2024 08:30:51 +0000 Subject: [PATCH] doc: cut v1.24.3 release --- Makefile | 2 +- README.md | 2 +- charts/index.yaml | 101 +++--- charts/latest/blob-csi-driver-v1.24.2.tgz | Bin 6080 -> 0 bytes charts/latest/blob-csi-driver-v1.24.3.tgz | Bin 0 -> 6080 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.24.3/blob-csi-driver-v1.24.3.tgz | Bin 0 -> 6080 bytes charts/v1.24.3/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 | 243 +++++++++++++ .../templates/csi-blob-driver.yaml | 16 + .../templates/csi-blob-node.yaml | 343 ++++++++++++++++++ .../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.24.3/blob-csi-driver/values.yaml | 181 +++++++++ deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 6 +- deploy/v1.24.3/csi-blob-controller.yaml | 158 ++++++++ deploy/v1.24.3/csi-blob-driver.yaml | 12 + deploy/v1.24.3/csi-blob-node.yaml | 256 +++++++++++++ deploy/v1.24.3/kustomization.yaml | 10 + deploy/v1.24.3/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.24.3/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.24.3.md | 47 +++ 29 files changed, 1706 insertions(+), 56 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-v1.24.2.tgz create mode 100644 charts/latest/blob-csi-driver-v1.24.3.tgz create mode 100644 charts/v1.24.3/blob-csi-driver-v1.24.3.tgz create mode 100644 charts/v1.24.3/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.24.3/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.24.3/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.24.3/blob-csi-driver/values.yaml create mode 100644 deploy/v1.24.3/csi-blob-controller.yaml create mode 100644 deploy/v1.24.3/csi-blob-driver.yaml create mode 100644 deploy/v1.24.3/csi-blob-node.yaml create mode 100644 deploy/v1.24.3/kustomization.yaml create mode 100644 deploy/v1.24.3/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.24.3/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.24.3.md diff --git a/Makefile b/Makefile index 4cc410e84..15adfe9c0 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.24.2 +IMAGE_VERSION ?= v1.24.3 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 46864ac65..0b7365b6b 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,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.24.2 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.2 | 1.21+ | +|v1.24.3 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 | 1.21+ | |v1.23.3 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.3 | 1.21+ | |v1.22.5 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.5 | 1.21+ | diff --git a/charts/index.yaml b/charts/index.yaml index 02da08eb8..c7a961391 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,17 +2,26 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: v1.24.2 - created: "2024-07-15T15:01:49.96942879Z" + appVersion: v1.24.3 + created: "2024-08-12T08:30:37.015982214Z" description: Azure Blob Storage CSI driver - digest: e9a1a4d48a44abd0b078e8bbe7fdfbf9c5cd4eb780919cb828f0ec1a3a263e36 + digest: cf4a5fc3f58107777d46d897be6c4c78666188305d9b7ff96016ec5e99055999 name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.24.2.tgz - version: v1.24.2 + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.24.3.tgz + version: v1.24.3 + - apiVersion: v1 + appVersion: v1.24.3 + created: "2024-08-12T08:30:37.038115255Z" + description: Azure Blob Storage CSI driver + digest: 6e0bc6b65e9c4b577212d63e54bb792585c70b71d88e560f00f15bf126d6373b + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.24.3/blob-csi-driver-v1.24.3.tgz + version: v1.24.3 - apiVersion: v1 appVersion: v1.24.2 - created: "2024-07-15T15:01:49.998738649Z" + created: "2024-08-12T08:30:37.037493254Z" description: Azure Blob Storage CSI driver digest: 2dd89baf3f7fc0ce77a105d2e8679d08d16830dcff79823f6249078078556793 name: blob-csi-driver @@ -21,7 +30,7 @@ entries: version: v1.24.2 - apiVersion: v1 appVersion: v1.24.1 - created: "2024-07-15T15:01:49.997522415Z" + created: "2024-08-12T08:30:37.03681216Z" description: Azure Blob Storage CSI driver digest: cc0f96b2cf778d45892ded03f70014ce898e7cbbeb95e432ab38e05ecfc0c16a name: blob-csi-driver @@ -30,7 +39,7 @@ entries: version: v1.24.1 - apiVersion: v1 appVersion: v1.24.0 - created: "2024-07-15T15:01:49.996839636Z" + created: "2024-08-12T08:30:37.036196558Z" description: Azure Blob Storage CSI driver digest: c9ecca2dde77d9557f3917513c8f5adcb861c2cfa9fe1e08f5bef056ab583efd name: blob-csi-driver @@ -39,7 +48,7 @@ entries: version: v1.24.0 - apiVersion: v1 appVersion: v1.23.3 - created: "2024-07-15T15:01:49.996181568Z" + created: "2024-08-12T08:30:37.035582386Z" description: Azure Blob Storage CSI driver digest: 4acef5e84bcbc01fa624b73f14d1331ee14b14e52b4db018f0037fd2ada015c7 name: blob-csi-driver @@ -48,7 +57,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2024-07-15T15:01:49.995534833Z" + created: "2024-08-12T08:30:37.034927365Z" description: Azure Blob Storage CSI driver digest: 057d6658c5879ee7e564d59275366521dc0a2e311c0527e570eaccd544622e60 name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2024-07-15T15:01:49.994870629Z" + created: "2024-08-12T08:30:37.034297492Z" description: Azure Blob Storage CSI driver digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07 name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2024-07-15T15:01:49.994233463Z" + created: "2024-08-12T08:30:37.033606587Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.5 - created: "2024-07-15T15:01:49.993279562Z" + created: "2024-08-12T08:30:37.031985565Z" description: Azure Blob Storage CSI driver digest: ff3c2c2e05dd048dd0af3e5c7d002eae2928a5d17fb269a1e4d5cadd30e8ab51 name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2024-07-15T15:01:49.992575349Z" + created: "2024-08-12T08:30:37.031373831Z" description: Azure Blob Storage CSI driver digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2024-07-15T15:01:49.991580349Z" + created: "2024-08-12T08:30:37.030746598Z" description: Azure Blob Storage CSI driver digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1 name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2024-07-15T15:01:49.990350642Z" + created: "2024-08-12T08:30:37.030132632Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2024-07-15T15:01:49.989210818Z" + created: "2024-08-12T08:30:37.029495816Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.7 - created: "2024-07-15T15:01:49.988182124Z" + created: "2024-08-12T08:30:37.028885956Z" description: Azure Blob Storage CSI driver digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3 name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.21.7 - apiVersion: v1 appVersion: v1.21.6 - created: "2024-07-15T15:01:49.987562978Z" + created: "2024-08-12T08:30:37.028305111Z" description: Azure Blob Storage CSI driver digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54 name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.21.6 - apiVersion: v1 appVersion: v1.21.5 - created: "2024-07-15T15:01:49.98694166Z" + created: "2024-08-12T08:30:37.027658111Z" description: Azure Blob Storage CSI driver digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2024-07-15T15:01:49.986290092Z" + created: "2024-08-12T08:30:37.026818137Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2024-07-15T15:01:49.985117308Z" + created: "2024-08-12T08:30:37.025217149Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.6 - created: "2024-07-15T15:01:49.983376208Z" + created: "2024-08-12T08:30:37.024196024Z" description: Azure Blob Storage CSI driver digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21 name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.19.6 - apiVersion: v1 appVersion: v1.19.5 - created: "2024-07-15T15:01:49.982612112Z" + created: "2024-08-12T08:30:37.02362251Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2024-07-15T15:01:49.981193003Z" + created: "2024-08-12T08:30:37.023043348Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2024-07-15T15:01:49.979586421Z" + created: "2024-08-12T08:30:37.022467885Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2024-07-15T15:01:49.978457452Z" + created: "2024-08-12T08:30:37.021885123Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2024-07-15T15:01:49.977288063Z" + created: "2024-08-12T08:30:37.021262852Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2024-07-15T15:01:49.976147532Z" + created: "2024-08-12T08:30:37.019775668Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2024-07-15T15:01:49.975007722Z" + created: "2024-08-12T08:30:37.01919427Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2024-07-15T15:01:49.974002005Z" + created: "2024-08-12T08:30:37.018576329Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2024-07-15T15:01:49.973027441Z" + created: "2024-08-12T08:30:37.017952136Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2024-07-15T15:01:49.972068849Z" + created: "2024-08-12T08:30:37.017353633Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: v1.9.0 - created: "2024-07-15T15:01:50.003995573Z" + created: "2024-08-12T08:30:37.043443543Z" description: Azure Blob Storage CSI driver digest: fca0b9215d3277346f68c643fb3ead75158971f0d1945ab01ec559196f3cf842 name: blob-csi-driver @@ -273,7 +282,7 @@ entries: version: v1.9.0 - apiVersion: v1 appVersion: v1.8.0 - created: "2024-07-15T15:01:50.003376389Z" + created: "2024-08-12T08:30:37.042876747Z" description: Azure Blob Storage CSI driver digest: 3b78e2ab4f33577c54d4f57276c824717d2ad2aa3741210e938fcaf927bc751f name: blob-csi-driver @@ -282,7 +291,7 @@ entries: version: v1.8.0 - apiVersion: v1 appVersion: v1.7.0 - created: "2024-07-15T15:01:50.002772299Z" + created: "2024-08-12T08:30:37.042275597Z" description: Azure Blob Storage CSI driver digest: 28da5b55c3d2689d6da85eb7da344385e9cb99bdb2af18c24fea93670abfe7ea name: blob-csi-driver @@ -291,7 +300,7 @@ entries: version: v1.7.0 - apiVersion: v1 appVersion: v1.6.0 - created: "2024-07-15T15:01:50.002163582Z" + created: "2024-08-12T08:30:37.04169103Z" description: Azure Blob Storage CSI driver digest: 6f24f2e6623f6f8862e47d4fbdf13b5f351ceec6bb9a4591ef7fc2fca9fc1eef name: blob-csi-driver @@ -300,7 +309,7 @@ entries: version: v1.6.0 - apiVersion: v1 appVersion: v1.5.0 - created: "2024-07-15T15:01:50.001617701Z" + created: "2024-08-12T08:30:37.041144113Z" description: Azure Blob Storage CSI driver digest: 95d14c9b70b319760d388ea47727c8c97e9287867a8852aeb67b7175b52fe8f5 name: blob-csi-driver @@ -309,7 +318,7 @@ entries: version: v1.5.0 - apiVersion: v1 appVersion: v1.4.1 - created: "2024-07-15T15:01:50.001042445Z" + created: "2024-08-12T08:30:37.040562444Z" description: Azure Blob Storage CSI driver digest: 5fcf69c449f065fa1d5722e5a7fed8a28000efa790907e9ff4b552c5fbd16d22 name: blob-csi-driver @@ -318,7 +327,7 @@ entries: version: v1.4.1 - apiVersion: v1 appVersion: v1.4.0 - created: "2024-07-15T15:01:50.000420034Z" + created: "2024-08-12T08:30:37.039988259Z" description: Azure Blob Storage CSI driver digest: b466543344a6411f6130ba87b093955d39ab8614c6b4ed8505a0a0c96073cb33 name: blob-csi-driver @@ -327,7 +336,7 @@ entries: version: v1.4.0 - apiVersion: v1 appVersion: v1.3.0 - created: "2024-07-15T15:01:49.999682165Z" + created: "2024-08-12T08:30:37.038929266Z" description: Azure Blob Storage CSI driver digest: 58d02cb70a3a966b349d62e880b7149fb06ac009474e35e580784fd3c98a5b07 name: blob-csi-driver @@ -336,7 +345,7 @@ entries: version: v1.3.0 - apiVersion: v1 appVersion: v1.2.0 - created: "2024-07-15T15:01:49.983963208Z" + created: "2024-08-12T08:30:37.024630638Z" description: Azure Blob Storage CSI driver digest: 27fb89f20b5fddc7329e6d7c2374857b22c1d61592e397a53f47121eea68c344 name: blob-csi-driver @@ -345,7 +354,7 @@ entries: version: v1.2.0 - apiVersion: v1 appVersion: v1.1.0 - created: "2024-07-15T15:01:49.970212922Z" + created: "2024-08-12T08:30:37.016742135Z" description: Azure Blob Storage CSI driver digest: a251a55243de207c69ef53f72abee45e93b72fa4fc43dc204b7f1cdfd459acdb name: blob-csi-driver @@ -354,7 +363,7 @@ entries: version: v1.1.0 - apiVersion: v1 appVersion: v1.0.0 - created: "2024-07-15T15:01:49.969744155Z" + created: "2024-08-12T08:30:37.016279011Z" description: Azure Blob Storage CSI driver digest: e83f037a165eafc83a978bd7e6bf6221b052ac34363aecb12e6a73607dc58b89 name: blob-csi-driver @@ -363,11 +372,11 @@ entries: version: v1.0.0 - apiVersion: v1 appVersion: latest - created: "2024-07-15T15:01:49.968687843Z" + created: "2024-08-12T08:30:37.015312899Z" description: Azure Blob Storage CSI driver digest: 2bd22695556c9625b6f11056cdd0058af1e02d6e85917944efde0bfae1bba3d1 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-07-15T15:01:49.967816691Z" +generated: "2024-08-12T08:30:37.01450577Z" diff --git a/charts/latest/blob-csi-driver-v1.24.2.tgz b/charts/latest/blob-csi-driver-v1.24.2.tgz deleted file mode 100644 index 0422ea8d2886c7faea04fad8108764f149cef9e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6080 zcmV;x7eDA9iwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PH<&bK5r3{j6VsQF?Q|dqTbWB|XjfgJUVFCXVcpob>MLbUYBb zl5i#g7628iuK)WD08)IHC|R*{Jux3*k&E30xVu>FF2IS)CYCLT<#4h9-n^J&E*nei zx!>*WYPDLe)8k|Pf2-BX{@-e!o_yCnK0Q9^938*uoP5`6AGhChzC*43u~2>mLSp`1 z>&djTo%=7juunb%7lhF+TC{7}_Y*%Go#RHQ=76v{@uj|b{(Hayy>;0HjV0rF2Iyiu zKt_6M6noG`8JVgrvKU{w(}!zyW%Yl7-2lXX4ZwQ+Z@1f>H(C8ZK58BG|2Zz=;Td#m z2u-kn5%{c&JexN>Vsj?gR5onpsi!WRC@6$D_)HMV__B+dOo--PFab_Mf>3hQj08#p zOFWCUUfu8m*S%&gv6o#mm=2k|<{*H|8bY=p*PJbgG8Mq95mSQe$Bhy+Pa3U8dlN~Q zEP#R#*PKnD8pWuIubL$2bsFuXMr#v6${grvMH|742+8pl9aW7(HMMxuJk3ITGYhsL zBM{{GZHAbe2B}xtZf_djn(eZ{38#$fVB!+{Lfxs=UcEvim;wiC1Ck6e3W#y!F%C$8 z%|QxvdjcpB;Gi#apqdP!Go%GpC=?u~T{M@{7u{xp>jq&>huNYjvA7dWo6#wm1sp7& zIhM_+#DoHGDtwkkX8D{fu!Lw(m(7~Ke;v5)*l^QDzx-Nzg)C$yIByxgzU2p48jvCO zpjH#W7sQ5h+hzfkYJhDHSV9*`9sqiUepX#kf4@c{EW!p@pfALARi8~02Td7AOBOWH z7^E7GDRu=QGF3Ox7fkidK!Ezq5&J?LiXNkqGuH*)Rj=AI>bSaT35;GL#Vle|G!9t^ z`3=WBqR+S<{!nZa=(Hg2fT+eN*v<}$Lcj7Fv}jx?PHp9GDAbrzCb9aZWdb{n{?B!h zoCETiBWgZ#&SR)9dU(vEaq$G)br>!+fN6{@3ta?4GB4APP|1)75<6Jpnyo<+4H0^U z?tT;&_WisUqWO0k;8(Ipeab z^xKTu;LBJ6^yoB|68Ir$%jW=|cI=upKgrKfzY(z%5i1bMJuI4SRl$MXH25W5($t}sWetfuhCr?Y>L8UiQpc4 zz6+?UerG_s=t1E=7oUU@^>(Y(Mvt{T&||HZP>GeW6{v=iOJ$xe^mxTu-9=a#FiSr) zvyD>@EqrW47pWIwnenS3C2QyW?4tURjqN!&feZCY_(SFJl`wvFD%KOo)b!MvH%sdFiy0*SbUzVHkLc zmR{yT{U2s=Xj+EW{FCos3B9+uPF-Mo4%b-DyQt}D-yQqPzTXfJ#u9t}fNGE)N!Vgf z`Cr$-JtBnhhFWjlyvf_%XSIf<%bpiDz)vNDf2ULN1xtJGu-Vt`(N0FV&=wheI#;ZJ z)TC8E`ENQ}Ld&z>ijSBf!qjoJhE$HYgMDZhW)!VTJ2GNMk3)605b6k;R(v zd%GzIzhMi~(B>-)EEpeJIdSJRP|Va7k3sZ%989O=zKiNtU65VWTwvaG$)p+HscD^-oOO`{6M|{2rkpyLVP|DDwV5VB z<)9amd4+yq+6Tw(uV^sUPW1VCPbs@{yvzbdub{Yvg&;Eu4)QR?Gvx?|co8ukAfdXw zQ0p=YR4o#*(6>S_UK5mR6)M!KQiBY7=nIi^4YnQCki?*;rax}Td--G60)wS4T>Lc3~97g-jK{MNIF2h^XGN-;*fhnPY>e}5?aCKzGk8t2h)G$>BS{ECiO~z3{UM+xg;sE+X`J~iF zr$_ov;u${>)vXvAP)Gl*d8=LMkh0;$aHm)eGtbHg(wT(GGUnKXb{n-~#x+Px%;$v4 zDXRZPSbq`qbO+4e;o=bep(AF>O4a|bj_SAdT{^=&k0}q$7&cMHWCUPB&<0zv4eX+a z2Ndac>fJO@VI#dBrnYIAwVvfHn{as2AGq!+EjML6j^_(h{GRn6(;2L7hgMlRHM}LgNq6j}ZSJ>pmCyeLDUuz_Le|g!o%ZSJQF{LGv|H`N z{QoT19idJa^|WK}0hP66K^XRZ(Ok4^QN}ZlBp+zV^ZMduH;txa#b%08AtiXj2I@=s)u!_+~&kc!a7V3r(TxriQ6Kqyyw20OG z3>UL}Y8poR7m`m5ypAoVIN5@isss09u1RdQv$3p36v#@pF|oY}v=K#$nmQC;mpoV{ zN(}zcI+u`K<>ey_o|(wv=WDugCe>9m$!2?)Yn>)u^6FAa>|%*bfW+<66*I%EaY;W;V2d%N zLgA|ypLW5R=pr4zEfch)Ifzr-2|-$)$qYlesj(@S>MXHj>bwHURNAqG@;aeQ4p_!N z+$3lPMIwopm3x|WZll+oF3?!9F2Gif{WWK54I1A^NUcY^XcSOMJm{Gf>0J%#)SK)+VbD!`D2=;+lhA;Wg`NwQ8hG9vX4+UD9ZUdfG+x#Ne9tQI#fo ze9S#thr7E8TH+ace5{)Ra0OK4XMZ%)^8iAa&qPuT)UemB#aXAGyQ%$G>^K~RIQ#yG z^ImV%ACLc50O$gCfLjn2hHZwZ5Q;27q9m0C@~quywM4;lxR)GTrV7rA=J>Ppo;GVowU|LOad(3*wT}(Wa=*uwxbdh}nM)1QC zPCY{==hj8duxhj+n0=R(q3cAk=qB-q3ro|IvCz3jox99Qh)I8&oOx7)9AAce#TQ7+ zAw2OoPLHDkKO^NWhJYD%6COyrlV-To=&8%bKAsSlNCKJOAmni7XYX0){PHqqilTJB zW$KbESfW$`z`-o2|1`>7w116$ ztE=2N?4bQAZeLdUb>(ygmDj7jy=re z3tDHYaEcMd7%ZVP7zKzjg*zo2>B2=*mu{KBvX$*tVqgl(8n?q7dvF!euW{~lb)*HJ zFPABLCFl!FEi;&voy|$;YUN>yBdZ8ap}P};WS;q)NoF&*i*7EiBjZ6~w`r*otLtWr zBEAj8?;H8fse55*qq(M-xB-WoIR`Oku45`p<4eu1??GnGu5adyh@&S>;wDtmMXRYh zOKZm=ESt_Fj7jEmLxvEcL=x=wz{Sfk*o-=&i;h|;n9z?|J#MET`@jiviW`?NCI0`@ zsDFDg>i7D?o5A_z?YqHczi46cjx#U&Ui9*ON@gFi{{faGnC1Z@X$niGIXKpoxKIG6 zYrWN*E_fCd=p|}<>Q=Mpwg+{o#!k`|I%UA1z%-vpKaZpZJg<7A);89_xo0aaM!FD6lX%XO&hq(&ZZo&b4A@{fqhu7NeO0k ze7a!@h*5nC4&(TFSxq3f{JZQ+%o6bLNYloaD`YX9b zx>^i4+_$y&_-`TJ!Z>UMxqICAiL|OM(yB&w3**Ai5$*k}HOJI(!7|p-A~X3tA?ec6C&H1^+mI3;HFC3M-0LP3hBu=9HDr*~aFJmy*yPEN|t*CUm7m^V*(Ci&GP zTxaW+SKQP&u3&bW^NJ^tjXdUOl=1}rHuKuv*eRdCHX_?FnQh9rX9Tl6-&v#&*~W#X z3<(bQTK`j_{ws8gcRvzn)BcZ>)6-1-SF7EAbEyA%j?1#FRLPexdo~((KbqRrcFk0X zU5p222j}`?uyiysQ{uHl?G~02+w&3p77z|jyv@~T&VWwY6-{no%xzpuFczji8z~6G zqA~uLWD54ucHtv)V6}ttT8)d4=I9)Cqwmkb1CCw2K5JsgVV@1c&SiVyB zL!C)^2s0Ou%N)HKT{iPPOr2b`vzZ?1rg}pSF|SvRfccy(hzm2dP|AhdpBCy~6T9s7 z-ww`)x9>(*!<+uFR~*BvQ$`7uz_BgKB3I^WFb#&|oAb-d+qaijZ{K|y7p8&JZ%=DQ z>JX?#<{+nnkgXvW5xM=`AB_iB!<~p_j+81TmhD+*A6@Hg>|19qo$GAdyLCz49L*w! zqKweEe{=is{GYd1*ZrZ+nBERQecY*Uxl_AJX)1b8BIQ-1(;JM>-(L1_KVA3EZ~DEr zJJHG70X%l^%6dB!nWF0$-*eQuZkcgERD^${72#QclG1Cf>{UzX6rROdC$)fBmyy%R zzsb_(;xo@H2y?-agZmZfjRf*yR@7ui@%|drw-@y|BcB5cXN%QK)9G~|%lX;&KlDa} z&;8NusQ>>PC)6>{ytm)b8u#2V=f4l6WNzd}t#dS)+bxPzk^SQ}9fNpGDZQ+Bh^;>^i ztBAwHKA*3#&*$ZGOwX~yXx-AZaM{P1k7w9?{q!wybSbvBlZ7nkHriGHdK;b6h&-B| zL6cu$ResWbW%{s7>cw|S6<0)*SKdU7Cz)fuY_7iY+0>3^Q-9Si%~~Xg$`8#wPGfY* zr0Fpya3MRIQMzPe6+hqaF0o9orEq`Pw&Q0d2O|37%OPS?9x*AaaYzkd{m(FIZ6%DU z?yrgYRh|XI_=KlP8^hYPEQ`F+xWA-yRcQ78d%TRlXms3@&76hN2)qx^(ncuc$7Mdhi!!~ zv#oG@$8LiZR+=BGi(_v7u-5u^YgsFE7prV}{d4Zce2J@k{}-QN+uF-V056W3t zV!^!xPO+OjOj#d%z5D)AuFOhTe;fq+L~r>NUGz)6{;S56@Y#Q<`>Q>kq4yaAEr3rn zzzk&lHLANr=>N6*uKqCNr2cZ0&jGsK4g~cXyp^e%y=_Ib(tCG{D2EWXi-oAz&x(D5 z1yH%e$c4Rmjp}|Gxy{|O1yK{_UOV(8gf?T`AvCEHMKtu@$h{0&&9baoUR&Q1>JU2n z8cLfv{M?#^q;}u(9ZdcWwhXn_bY+~{y;X}{k!?N^P-RQ1vNmDLB5(4ZV!tA>STpWr zFYl|G+VH%h{{}N#!9?uY%07ug(|q1COK8Vl6x-FO8PsRDPD;L?+cxb-!2bkBDKik2 z4booik$NMgZ)-I;QF+$$8Kv;Eb|pd{%Ji=#1F{DR-fmp}2jW^atO?Z^?&>5sFOYa>G=3?{>!sm8`l5NIuYni8Q;Dc zVQyr3R8em|NM&qo0PH<&bK5r3{j6VsQF?Q|dqTbVEj`WngJUVFCXVc}ob>MLbUYBb zl5i#g7628iuK)WD08)IXC|R*{Jux3*k&E30xVu>FF2IS)CYCLT<#4h9-aemWE?Z0N zx!>*V>U27tlcOX3f2Y&Q{@>}I9Dmn6IypW$JUZ$eAAQ&99(CVzzeAnfu~2>mLSp`1 z=gG9Po%=7juunb%7lhFsT67!O_Y*%`2S=^Lh6BRp#FzT!+3x`d^wwn)G?t9x8KCp= z5E|DWR`9-cw3 zfzSjCxCWo~kZ1FjM{Ldno645WJoVIN69t732cHQd8DI8Ln+egr3nsuRNDxYn+L1tM zV2Nk3)~g$S;JR1LCHAt1hSL#~R~!UT*+9q^aHW{ zk_Au@;)=5g)T0>dkTM7QTG6gyMug;egN~}kp_*DeYMy4HyPgGG zkZTa+_f3YFn+B;@+U>3z--hk7zzL^}t6<_1`&`{=G+wh=UsAizOi=0G(WLT5+|tWYR8OnYc9r7wEz1lKLX+77ctTVio1+BTz8G7C6Z zK65OaQHco!-d6Z5jm+{nSzrm#pf1}Deg7(O-Lc`Ohkp6B@d{bUOmN;Ze0|Fgurwee z>_MX;fG>y*XSU4(D%Akn9I%8Qk~{$P3jM6QqW*r3LRf?ius~mk>#9DRCJvf1j+QKF zp)p7`98>HHKxC?JqA!^0n}GoJnQ)fCXru38O1c7$*w|In$6yBv zTFV>UOEgoQs_|sL&$tYzdMFv<0YxjNLs%fnC}&Kf$r1^WQmHgnO0UtK8*GZgWQpJ& zd%g>(r+#NZdgwvnJ`c3THQlf88Ayf zG_#FU4lR6aLl3DJVwv%4ASG+;%fR#1=&stV#DC6&9D)48_}$7*$T<bapW*i<0_E@K2QfSiaw5qQS$~;63dA#t{9g+bnuUp!=vKKZw}a%^BC-) zq2~ve*jV(C{uR(m`VlL6=oy0)-8?t^T)CJ+{K#c9CG&0%9cx@hl7%5xG~+A2JR(K( zOEK^1$?3S$`AEXM9DWNxB%y3SP*ULKnjJ)~3i?}4touY_vA8C^L5(=N08+h;m zmS?sNLi|kReCPm`S{x!J_wfBEiWiu;$~yH>x5(ri*E2bXIimqoVSVee$utmf#o7IG z#pxtM zUZSO!dC>faSsa>{p*8>HJ6J;hZLU-2*q*}`mh&EJd)jx$zOwH(#DlTKoyITVZ5Qvn>TOrw)a`BVd=8xg$?jiiQwPqRD8kGo;z&zb$hgx5iYbvMxV|U z>mT(h#mHS_3RnhQ%feK==PdA}RoyjU=VwkNTv8j933xZYS^BWT^&X_L6Jv?hTFJ;_ z!}z_ul!M>01!-yX6$TcJ53QWIvl%F6nu^CD`aKS&Q*z%!&CBuFnuF`9r@H-nHtv78 zSXqi@6TLz!8-z?4OWpo~GG$Q2-(I8s;O(dPuhDSy?(#MI`RsZ$9KC;y2G`e@*UAl3 zzI13_G!yDZ{JY^28r-YiC{yZ!?4kAo^R`PS?eI=R>$K#oha8v?OdAd5)VT~hE2F8+ zGyy7y{gBKn^b6BIICg(U!>M+n&(8Wv*_GpE7BG4R#VsrZnNe_%hbf*ZM=->Ti17dk z)$N5^mr0;%k%)!96?*ZSpj4|+p;na|WY|Yvh@5M%&8UVXhJ7V}Auipmmkw*~ubNjj z{wu-rT`WPgN0&E)aZBFIC(~G$|2gV(Gx6W!lar%;{P#Jo8)a>(ayrVg%)*7J1HQ|a zpyMYxP7xZFR-l!p% zYvs+N$4AAIL1tMZoCi;v*!MFoy26x0f*v26$g=dr{l9Lh%Ju(t4z3Sew50#URL~mz zKR7%&%IN>e@yR~_^DNiHL;LS&LA;*!2d2aYx%A=GQ^R7zYt zr8YV_)PEAs_<^Wt#mIm<`ftr!<6MW74KIc}#cG&&Rz8rGd$RO~b79EN9t-%ggw66MU+NgxYT4l=Y^BGn;unqk657h_2`1 ze9WcArW^M>baJi9GTrwm#}V;9jo$p(s%D}X;i~*WVaql71N{~-nHtr{$A((!w8Xrv z#jvOgp?tQI?1Y+>OiP%@NV0!n&#i!15l+2XqxOE_x~sI@l<_#8FHrG&_T$W1;$_Di zX47kma4zMh8*xl$P}vTxvT|y8OL~*;*h|~oZ|N$Z{|iziTb6}X&;JMAlas^r{D08x zboTTAvs`zCIz80aj=cv|Hj)Kl*!M+y(QQN-&p4K&bS*L_v3SsMdN5F7S)0)! zR`WAl%<_q880lX~J~8k*wwU5%177M5+>f~?vDMDTvRY9fE7``x_9D<$6e()!P<&JJ zV3jB__(SVlLUNUtk1Tj*B8#6_bRjVTq){h|2I4k}dV^lU)R}4a2TD@SbjS#xx~ao! z1urRz>L$oXao!~DYBIS|E1o9RRW!+FdzfpTCSLODQc3J$iA;dR?a~!9qpWdBKTcqa zF{DD_s~4Yk!Icj9g&#}1TpjUY9W?HRU>5_+5Tzr=_TA`lyP%|;OrhQbU zi5?$w&#G|u)=WxZUz{Fysvsr-7xJ{*DFO=9d)7=j_oqKG%J|jiYp`8RJd^0lF#vRteFH}D z!x2tBLni0eL+!9?v?Z8*mzANbM6u{P@rVmc(~_~!xkjD4%t?qzf18|nRD>K~hI_>q zNXsES@iJQ8FmvMNcSMkaH-K#myLZqAuf>wGQB~_;mpt8v(VYaMa~pO z>3qx7CD*V-sRDrA8lno+d7F?1-qH;1ieeojlr}eI(rzI2+gO={LlM0g_-&nor0W1v zycmpgDSZp5<1<3#smpBas%E`nmn+@XxYlMh)#Zjbq@p1$pK*D*CFbl4&ZM47^!5{`7?qNz)_Okml{b}KP3g=LMKVU9hxn&>N>J6#=V zf#=I*ie3r&!cxl&W@Tq{61rM>nBvGfLR0AOgdmw`K4+5I%N#6 zj8Vk5f%ttb-#K+JENwK`6cab#a5Lv1=FD|Wg=u`L+4Vihtl9O=oDp&Kq)FU_N_uED zb!Ta9IfP}?d4w^^d~V1PB9usi-9ET@IR=|iNA%EPCj}GwF{{Vj^kW}5VNP-5@}jd5m(h@1DYU<*rvBdVBHuj}MVHg~YJ`b-iM;`~H8!h%%XE#5Utf@iTiA`Q@&7x3rG~w32 z1*7W+XuS)*%HBTPx;xuA)6qgiu`ciStq9>(tQZt$Lbz=kxXjL`9I$gq-DQD&sMe$e zvpPQAG6lq_IR%Gt{Jg9tkX!y;_9bQs_;;jjV@vWt$hMAX*)sD+HXoQR7Gg?fUv~YK z+#+2s1|06&+Ijr95N}}|HiFzf?)yYq^%iM$BfEuh;pd3<{?(de>bPJT>u3=g2(W;2 z#!vM=h`+vUKs6fsZ#|q6v-%RcY(}9V#Z%aMz4p_)t{xt9Eea%{>N;}N!r#zGV z>JzTBb<0a`>Ks=vTg`dJlgL^g^D|0$0)LZvZD;J1&tGeit(nZ$W!y7@S)T7K(uZv0 z!cv9=2Rp6*sZswGy2aZc3AAqi$MMNYrv9tb?VjxGznY$cD36u z6=LV(q1nM%T@03vMrKO9wy530Qeu044Zj71gA;Fa^_erIQ+7#{TNra27ZZ$y>CaXQ z!mwzJ{{@+Xy|i8U$Q)ShpuAG!BBVJwN8K3sbMSy;SMRvI1A3j>%4s1SI0SUzH1c_2&5ac(4D@afS7t7(7PD zutoW&mX2K(er6DEWi|r6r+zFsmM{ws22d_1p)<4HK5_)IM;B!INI#D_3QLlb2)C&m z&Gqy}YDNpV*jJ0bShZ+j$6lhKGh~7Bw4fB6#!&hI?@E7Lq#;J zM>T+vhrLMwsbX>4($QSaq0yY}t107J--xtAc9y$q&WlhEP(R>=&cfqk2%QaQl&x+L z?!gZ9DXpnhPLjbJ;9hQVY#CcMxc51PhlUiSK*Gatq&fH@f5m4_jF=qKLYVMWhQeox z!h&!aVAqPzQ;4M`p$>Z7lcm!Ix}JtvukYr@w_D$;`?J%^Ry8u`71gcbi8xkt9F65G zW#8ACl!q{L0lCc4o6%)6&%@NoMLXN+p>C@;)DrV%-3XY^$%42rQwybBxczCN?uyuD zfADsAHoARxeL1=rjQYhf%qC@&PzfB{k}Ps%t_IU^G`=~zxVU|LaryS$r*UB#IQ{mt zR-_JrYGn>`DhSycViA$s&x7mn@N%>jvCNTDrNpv5JJ?0n4%YVVU?-hB*tB<5N!}dI zB8Q@k(0Fij`|<3bx0hFgk z?L1%#7f5>@mKdaJ|3{|iI>z@LwXPdx-1imX-)Kd67NDf`S}S|q5;}!vae9ziKvZSq zH1cn*43Y_3icG{q6Yj{DYo_@)*(rTv5~s_i^B4C4EIMw!ysSEdAYfB*Nk`2TqGoW#*18 zOEHh@xawP#86;ekg6eH;XFDxYXe9Ol69F+OZvs!lWbungbuPr}51v`f@drWrKP!fF-deredSXx*ghHiZ! za&8d^)O;=TdR6Zj^~wR)2TYspl&Ebg(X!nhG&3NjyU%vNoo3AjnDl0w%){*Nn2pv& z`%Nw{zsV&Re@#zg>#?S1v;8ibTKsLZizYqG*B93*0oN&!)6C~4^8mWBakYgHw$^X` zZLJ~>_xpUl#y+2y%P~F24x_52Y2mVuGat{e`TFTw;^_!m9kF-OBWSm(+{zk}9r5S1UAdz{AT zl1bZRPT)dzG^2FM#43Ki+g)OrU`yftuuaF$N)ANy#g~1=q $R^yNwz~-M}(%MKE zQ{AtK`PH2Xcdo_HJ3Zz^r*tD$K^D1kQ%@3fZ6aV{Dp@OY7wc?!{d4Zce2J@k{}-QN+uF%T0M_jPJUPst z|No}D|NhsrTp8t2FTG_Brqv(r2seM4&wO1o7g8I6W3t zV!^!xPO+OjOj#d%z5V`CuFOhLe;fq+L~r>NJ@iYn`K!j1@Y#Q9`l~&jq4yaAEr3rn zzzk&bHEOy<=>N6*uKqCNr2cZ0&jGsK76kPfytS#Cy=_Ib(tCG{D2EWXi-oA!&zgOL z1yH%g$c4RmjhcQLx%J($1yK{_PCN7@gf?T`AvCEHMKtu@$ej#Y!?LVKUR&Q1>JU2n z8cLfv{M?#^q_*Gk9ZdcWwhXn_bY+~{z14_akxf1kP-jc3vNmDLB5(4ZV!tA>s2KOM zm-kgoZFpYMe}kE=VIp>HWuHW$Z9Z?ACA4KPitXyt4C=F6Cnev{ZJTx@;C}+6lo^QH z25G1ENWGELx3wCas66ZWj8gbnyAmM}W%}2W0oj2BZ#FLf19R+Ff>KAOA0GZRYxZ4U zb=Ut-IRs|S`oDX4c#u8+>F8*G{>!smYu5kIIuYni8Q;kz2)Cu`)hygul@DR*M9;40RR71a>jZ9 GtN;KL>KNDn literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index fc1ea322c..32f2109b1 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.24.2 +appVersion: v1.24.3 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v1.24.2 +version: v1.24.3 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 3d359716e..c551219ed 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.24.2 + tag: v1.24.3 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.24.3/blob-csi-driver-v1.24.3.tgz b/charts/v1.24.3/blob-csi-driver-v1.24.3.tgz new file mode 100644 index 0000000000000000000000000000000000000000..3ce56591c79549c58d740578aa1cdfc6c15fd81f GIT binary patch literal 6080 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 GtN;La@CMWX literal 0 HcmV?d00001 diff --git a/charts/v1.24.3/blob-csi-driver/Chart.yaml b/charts/v1.24.3/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..32f2109b1 --- /dev/null +++ b/charts/v1.24.3/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: v1.24.3 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: v1.24.3 diff --git a/charts/v1.24.3/blob-csi-driver/templates/NOTES.txt b/charts/v1.24.3/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..c75dafbb5 --- /dev/null +++ b/charts/v1.24.3/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="app.kubernetes.io/name={{ .Release.Name }}" --watch diff --git a/charts/v1.24.3/blob-csi-driver/templates/_helpers.tpl b/charts/v1.24.3/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.24.3/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.24.3/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.24.3/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..4b609d16c --- /dev/null +++ b/charts/v1.24.3/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,243 @@ +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 +{{- if eq .Values.controller.hostNetwork true }} + - --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }} +{{- else }} + - --health-port={{ .Values.controller.livenessProbe.healthPort }} +{{- end }} + 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 +{{- if ne .Values.controller.hostNetwork true }} + - containerPort: {{ .Values.controller.livenessProbe.healthPort }} + name: healthz + protocol: TCP +{{- end }} + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz +{{- if eq .Values.controller.hostNetwork true }} + host: localhost + port: {{ .Values.controller.livenessProbe.healthPort }} +{{- else }} + port: healthz +{{- end }} + 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.24.3/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.24.3/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9c5de5b91 --- /dev/null +++ b/charts/v1.24.3/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.24.3/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.24.3/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..c9eaa4495 --- /dev/null +++ b/charts/v1.24.3/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,343 @@ +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 }}" + - name: KUBELET_PATH + value: "{{ .Values.linux.kubelet }}" + 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 }}" + - "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}" + 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.24.3/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.24.3/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..833dcc640 --- /dev/null +++ b/charts/v1.24.3/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.24.3/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.24.3/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.24.3/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.24.3/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.24.3/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.24.3/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.24.3/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.24.3/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.24.3/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.24.3/blob-csi-driver/values.yaml b/charts/v1.24.3/blob-csi-driver/values.yaml new file mode 100644 index 000000000..c551219ed --- /dev/null +++ b/charts/v1.24.3/blob-csi-driver/values.yaml @@ -0,0 +1,181 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.24.3 + 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 + metricsPort: 29635 + 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/csi-blob-controller.yaml b/deploy/csi-blob-controller.yaml index 333ce6df1..f5222042f 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.24.2 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index c3acf6a31..37a74134e 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.24.2 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 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.24.2 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 imagePullPolicy: IfNotPresent args: - "--v=5" @@ -194,7 +194,7 @@ spec: cpu: 10m memory: 20Mi - name: aznfswatchdog - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.2 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 command: - "aznfswatchdog" imagePullPolicy: IfNotPresent diff --git a/deploy/v1.24.3/csi-blob-controller.yaml b/deploy/v1.24.3/csi-blob-controller.yaml new file mode 100644 index 000000000..f5222042f --- /dev/null +++ b/deploy/v1.24.3/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=1200s" + - "--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.24.3 + 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.24.3/csi-blob-driver.yaml b/deploy/v1.24.3/csi-blob-driver.yaml new file mode 100644 index 000000000..d2de725d8 --- /dev/null +++ b/deploy/v1.24.3/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.24.3/csi-blob-node.yaml b/deploy/v1.24.3/csi-blob-node.yaml new file mode 100644 index 000000000..37a74134e --- /dev/null +++ b/deploy/v1.24.3/csi-blob-node.yaml @@ -0,0 +1,256 @@ +--- +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.24.3 + 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.24.3 + 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" + - "--metrics-address=0.0.0.0:29635" + - "--enable-aznfs-mount=true" + 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 + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + - name: aznfswatchdog + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 + command: + - "aznfswatchdog" + imagePullPolicy: IfNotPresent + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + 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 + - hostPath: + path: /opt/microsoft/aznfs/data + type: DirectoryOrCreate + name: aznfs-data + - name: lib-modules + hostPath: + path: /lib/modules + type: DirectoryOrCreate +--- diff --git a/deploy/v1.24.3/kustomization.yaml b/deploy/v1.24.3/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.24.3/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.24.3/rbac-csi-blob-controller.yaml b/deploy/v1.24.3/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.24.3/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.24.3/rbac-csi-blob-node.yaml b/deploy/v1.24.3/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.24.3/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 a6629a236..050b3c74f 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.24.2 CSI driver](./install-csi-driver-v1.24.2.md) + - [install v1.24.3 CSI driver](./install-csi-driver-v1.24.3.md) - [install v1.23.3 CSI driver](./install-csi-driver-v1.23.3.md) - [install v1.22.5 CSI driver](./install-csi-driver-v1.22.5.md) diff --git a/docs/install-csi-driver-v1.24.3.md b/docs/install-csi-driver-v1.24.3.md new file mode 100644 index 000000000..19dbe068c --- /dev/null +++ b/docs/install-csi-driver-v1.24.3.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.24.3 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.24.3/deploy/install-driver.sh | bash -s v1.24.3 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.24.3 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.24.3/deploy/uninstall-driver.sh | bash -s v1.24.3 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.24.3 +./deploy/uninstall-driver.sh v1.24.3 local +```