From 50ae95e2dbc89916c35e73f455d5bf3a333d3df0 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Thu, 1 Feb 2024 09:23:34 +0000 Subject: [PATCH] cleanup: update new chart versions --- README.md | 6 +- charts/README.md | 2 +- charts/index.yaml | 107 +++--- charts/v1.21.7/blob-csi-driver-v1.21.7.tgz | Bin 0 -> 5517 bytes charts/v1.21.7/blob-csi-driver/Chart.yaml | 5 + .../blob-csi-driver/templates/NOTES.txt | 5 + .../blob-csi-driver/templates/_helpers.tpl | 49 +++ .../templates/csi-blob-controller.yaml | 212 ++++++++++++ .../templates/csi-blob-driver.yaml | 16 + .../templates/csi-blob-node.yaml | 282 +++++++++++++++ .../templates/rbac-csi-blob-controller.yaml | 115 ++++++ .../templates/rbac-csi-blob-node.yaml | 29 ++ .../serviceaccount-csi-blob-controller.yaml | 9 + .../serviceaccount-csi-blob-node.yaml | 9 + charts/v1.21.7/blob-csi-driver/values.yaml | 167 +++++++++ charts/v1.22.5/blob-csi-driver-v1.22.5.tgz | Bin 0 -> 5869 bytes charts/v1.22.5/blob-csi-driver/Chart.yaml | 5 + .../blob-csi-driver/templates/NOTES.txt | 5 + .../blob-csi-driver/templates/_helpers.tpl | 49 +++ .../templates/csi-blob-controller.yaml | 215 ++++++++++++ .../templates/csi-blob-driver.yaml | 14 + .../templates/csi-blob-node.yaml | 323 +++++++++++++++++ .../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.22.5/blob-csi-driver/values.yaml | 180 ++++++++++ charts/v1.23.3/blob-csi-driver-v1.23.3.tgz | Bin 0 -> 5944 bytes charts/v1.23.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 | 216 ++++++++++++ .../templates/csi-blob-driver.yaml | 16 + .../templates/csi-blob-node.yaml | 326 ++++++++++++++++++ .../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.3/blob-csi-driver/values.yaml | 180 ++++++++++ deploy/v1.21.7/csi-blob-controller.yaml | 143 ++++++++ deploy/v1.21.7/csi-blob-driver.yaml | 11 + deploy/v1.21.7/csi-blob-node.yaml | 203 +++++++++++ deploy/v1.21.7/kustomization.yaml | 10 + deploy/v1.21.7/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.21.7/rbac-csi-blob-node.yaml | 30 ++ deploy/v1.22.5/csi-blob-controller.yaml | 143 ++++++++ deploy/v1.22.5/csi-blob-driver.yaml | 12 + deploy/v1.22.5/csi-blob-node.yaml | 203 +++++++++++ deploy/v1.22.5/kustomization.yaml | 10 + deploy/v1.22.5/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.22.5/rbac-csi-blob-node.yaml | 30 ++ deploy/v1.23.3/csi-blob-controller.yaml | 144 ++++++++ deploy/v1.23.3/csi-blob-driver.yaml | 12 + deploy/v1.23.3/csi-blob-node.yaml | 208 +++++++++++ deploy/v1.23.3/kustomization.yaml | 10 + deploy/v1.23.3/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.23.3/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 6 +- docs/install-csi-driver-v1.21.7.md | 47 +++ docs/install-csi-driver-v1.22.5.md | 47 +++ docs/install-csi-driver-v1.23.3.md | 47 +++ 61 files changed, 4580 insertions(+), 47 deletions(-) create mode 100644 charts/v1.21.7/blob-csi-driver-v1.21.7.tgz create mode 100644 charts/v1.21.7/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.21.7/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.21.7/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.21.7/blob-csi-driver/values.yaml create mode 100644 charts/v1.22.5/blob-csi-driver-v1.22.5.tgz create mode 100644 charts/v1.22.5/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.22.5/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.22.5/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.22.5/blob-csi-driver/values.yaml create mode 100644 charts/v1.23.3/blob-csi-driver-v1.23.3.tgz create mode 100644 charts/v1.23.3/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.23.3/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.23.3/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.23.3/blob-csi-driver/values.yaml create mode 100644 deploy/v1.21.7/csi-blob-controller.yaml create mode 100644 deploy/v1.21.7/csi-blob-driver.yaml create mode 100644 deploy/v1.21.7/csi-blob-node.yaml create mode 100644 deploy/v1.21.7/kustomization.yaml create mode 100644 deploy/v1.21.7/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.21.7/rbac-csi-blob-node.yaml create mode 100644 deploy/v1.22.5/csi-blob-controller.yaml create mode 100644 deploy/v1.22.5/csi-blob-driver.yaml create mode 100644 deploy/v1.22.5/csi-blob-node.yaml create mode 100644 deploy/v1.22.5/kustomization.yaml create mode 100644 deploy/v1.22.5/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.22.5/rbac-csi-blob-node.yaml create mode 100644 deploy/v1.23.3/csi-blob-controller.yaml create mode 100644 deploy/v1.23.3/csi-blob-driver.yaml create mode 100644 deploy/v1.23.3/csi-blob-node.yaml create mode 100644 deploy/v1.23.3/kustomization.yaml create mode 100644 deploy/v1.23.3/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.23.3/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.21.7.md create mode 100644 docs/install-csi-driver-v1.22.5.md create mode 100644 docs/install-csi-driver-v1.23.3.md diff --git a/README.md b/README.md index 9123aa2b8..ffcee25ad 100644 --- a/README.md +++ b/README.md @@ -18,9 +18,9 @@ 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.2 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.2 | 1.21+ | -|v1.22.4 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.4 | 1.21+ | -|v1.21.6 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.6 | 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+ | +|v1.21.7 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.7 | 1.21+ | ### Driver parameters Please refer to `blob.csi.azure.com` [driver parameters](./docs/driver-parameters.md) diff --git a/charts/README.md b/charts/README.md index d914f4c9b..4ad7df3f3 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.2 + > Note: [blobfuse-proxy](../deploy/blobfuse-proxy) is supported on CoreOS(OpenShift) from v1.23.3 - 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 d285d584f..de298b5b9 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -1,54 +1,72 @@ apiVersion: v1 entries: blob-csi-driver: + - apiVersion: v1 + appVersion: v1.23.3 + created: "2024-02-01T09:23:18.012841151Z" + description: Azure Blob Storage CSI driver + digest: 7f9c641bf822c5421fc291dd65cbf274bec66ab363078fba618a9ce7dec400eb + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.3/blob-csi-driver-v1.23.3.tgz + version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2023-11-24T09:01:28.995261524Z" + created: "2024-02-01T09:23:18.011599935Z" description: Azure Blob Storage CSI driver - digest: 9452372c032a09eefed4b4064a547143e6f62b7628992db22784844eb35bee7d + digest: 057d6658c5879ee7e564d59275366521dc0a2e311c0527e570eaccd544622e60 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.2/blob-csi-driver-v1.23.2.tgz version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2023-11-24T09:01:28.994649337Z" + created: "2024-02-01T09:23:18.010964434Z" description: Azure Blob Storage CSI driver - digest: d0345309791c22d197c44e5d74b7acd62ce652b3a8756d08bf878f85adb0de7b + digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.1/blob-csi-driver-v1.23.1.tgz version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2023-11-24T09:01:28.994017634Z" + created: "2024-02-01T09:23:18.010356842Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.23.0/blob-csi-driver-v1.23.0.tgz version: v1.23.0 + - apiVersion: v1 + appVersion: v1.22.5 + created: "2024-02-01T09:23:18.009743904Z" + description: Azure Blob Storage CSI driver + digest: 653f8ea6121aa2e9d1bee8fc1e80f30960f0e81b40d356a019da9fa03c4af5e4 + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.22.5/blob-csi-driver-v1.22.5.tgz + version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2023-11-24T09:01:28.993398586Z" + created: "2024-02-01T09:23:18.009098476Z" description: Azure Blob Storage CSI driver - digest: 20a3f200282472f27ab45eccf74c87a205cc647aafd5ca481762b5cd3bc5249b + digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.22.4/blob-csi-driver-v1.22.4.tgz version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2023-11-24T09:01:28.992740245Z" + created: "2024-02-01T09:23:18.008446506Z" description: Azure Blob Storage CSI driver - digest: d8dba916d9540447f2b7ba33e8f56dafe7459eeffb6a7323645f359b19b6a6eb + digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.22.3/blob-csi-driver-v1.22.3.tgz version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2023-11-24T09:01:28.991669251Z" + created: "2024-02-01T09:23:18.007784088Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -57,16 +75,25 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2023-11-24T09:01:28.990518632Z" + created: "2024-02-01T09:23:18.006937854Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.22.1/blob-csi-driver-v1.22.1.tgz version: v1.22.1 + - apiVersion: v1 + appVersion: v1.21.7 + created: "2024-02-01T09:23:18.005346707Z" + description: Azure Blob Storage CSI driver + digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3 + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.21.7/blob-csi-driver-v1.21.7.tgz + version: v1.21.7 - apiVersion: v1 appVersion: v1.21.6 - created: "2023-11-24T09:01:28.989918718Z" + created: "2024-02-01T09:23:18.004752018Z" description: Azure Blob Storage CSI driver digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54 name: blob-csi-driver @@ -75,7 +102,7 @@ entries: version: v1.21.6 - apiVersion: v1 appVersion: v1.21.5 - created: "2023-11-24T09:01:28.989326165Z" + created: "2024-02-01T09:23:18.004171073Z" description: Azure Blob Storage CSI driver digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver @@ -84,7 +111,7 @@ entries: version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2023-11-24T09:01:28.988732801Z" + created: "2024-02-01T09:23:18.003597266Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -93,7 +120,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2023-11-24T09:01:28.98813592Z" + created: "2024-02-01T09:23:18.002987933Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -102,7 +129,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.6 - created: "2023-11-24T09:01:28.986827359Z" + created: "2024-02-01T09:23:18.00174466Z" description: Azure Blob Storage CSI driver digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21 name: blob-csi-driver @@ -111,7 +138,7 @@ entries: version: v1.19.6 - apiVersion: v1 appVersion: v1.19.5 - created: "2023-11-24T09:01:28.986187133Z" + created: "2024-02-01T09:23:18.001136542Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -120,7 +147,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2023-11-24T09:01:28.984655313Z" + created: "2024-02-01T09:23:18.000481131Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -129,7 +156,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2023-11-24T09:01:28.983826321Z" + created: "2024-02-01T09:23:17.998975288Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -138,7 +165,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2023-11-24T09:01:28.983050388Z" + created: "2024-02-01T09:23:17.997778881Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -147,7 +174,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2023-11-24T09:01:28.982324298Z" + created: "2024-02-01T09:23:17.996897911Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -156,7 +183,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2023-11-24T09:01:28.981585971Z" + created: "2024-02-01T09:23:17.995995384Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -165,7 +192,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2023-11-24T09:01:28.980866908Z" + created: "2024-02-01T09:23:17.995159855Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -174,7 +201,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2023-11-24T09:01:28.980076348Z" + created: "2024-02-01T09:23:17.99433658Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -183,7 +210,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2023-11-24T09:01:28.979289047Z" + created: "2024-02-01T09:23:17.993482048Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -192,7 +219,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2023-11-24T09:01:28.978511783Z" + created: "2024-02-01T09:23:17.99257752Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -201,7 +228,7 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: v1.9.0 - created: "2023-11-24T09:01:29.002027136Z" + created: "2024-02-01T09:23:18.019074348Z" description: Azure Blob Storage CSI driver digest: fca0b9215d3277346f68c643fb3ead75158971f0d1945ab01ec559196f3cf842 name: blob-csi-driver @@ -210,7 +237,7 @@ entries: version: v1.9.0 - apiVersion: v1 appVersion: v1.8.0 - created: "2023-11-24T09:01:29.001031812Z" + created: "2024-02-01T09:23:18.018176202Z" description: Azure Blob Storage CSI driver digest: 3b78e2ab4f33577c54d4f57276c824717d2ad2aa3741210e938fcaf927bc751f name: blob-csi-driver @@ -219,7 +246,7 @@ entries: version: v1.8.0 - apiVersion: v1 appVersion: v1.7.0 - created: "2023-11-24T09:01:29.000277142Z" + created: "2024-02-01T09:23:18.017448813Z" description: Azure Blob Storage CSI driver digest: 28da5b55c3d2689d6da85eb7da344385e9cb99bdb2af18c24fea93670abfe7ea name: blob-csi-driver @@ -228,7 +255,7 @@ entries: version: v1.7.0 - apiVersion: v1 appVersion: v1.6.0 - created: "2023-11-24T09:01:28.999499839Z" + created: "2024-02-01T09:23:18.016717326Z" description: Azure Blob Storage CSI driver digest: 6f24f2e6623f6f8862e47d4fbdf13b5f351ceec6bb9a4591ef7fc2fca9fc1eef name: blob-csi-driver @@ -237,7 +264,7 @@ entries: version: v1.6.0 - apiVersion: v1 appVersion: v1.5.0 - created: "2023-11-24T09:01:28.997945662Z" + created: "2024-02-01T09:23:18.016021449Z" description: Azure Blob Storage CSI driver digest: 95d14c9b70b319760d388ea47727c8c97e9287867a8852aeb67b7175b52fe8f5 name: blob-csi-driver @@ -246,7 +273,7 @@ entries: version: v1.5.0 - apiVersion: v1 appVersion: v1.4.1 - created: "2023-11-24T09:01:28.997274031Z" + created: "2024-02-01T09:23:18.015308202Z" description: Azure Blob Storage CSI driver digest: 5fcf69c449f065fa1d5722e5a7fed8a28000efa790907e9ff4b552c5fbd16d22 name: blob-csi-driver @@ -255,7 +282,7 @@ entries: version: v1.4.1 - apiVersion: v1 appVersion: v1.4.0 - created: "2023-11-24T09:01:28.996582891Z" + created: "2024-02-01T09:23:18.014628729Z" description: Azure Blob Storage CSI driver digest: b466543344a6411f6130ba87b093955d39ab8614c6b4ed8505a0a0c96073cb33 name: blob-csi-driver @@ -264,7 +291,7 @@ entries: version: v1.4.0 - apiVersion: v1 appVersion: v1.3.0 - created: "2023-11-24T09:01:28.995930012Z" + created: "2024-02-01T09:23:18.013782983Z" description: Azure Blob Storage CSI driver digest: 58d02cb70a3a966b349d62e880b7149fb06ac009474e35e580784fd3c98a5b07 name: blob-csi-driver @@ -273,7 +300,7 @@ entries: version: v1.3.0 - apiVersion: v1 appVersion: v1.2.0 - created: "2023-11-24T09:01:28.987468867Z" + created: "2024-02-01T09:23:18.002358744Z" description: Azure Blob Storage CSI driver digest: 27fb89f20b5fddc7329e6d7c2374857b22c1d61592e397a53f47121eea68c344 name: blob-csi-driver @@ -282,7 +309,7 @@ entries: version: v1.2.0 - apiVersion: v1 appVersion: v1.1.0 - created: "2023-11-24T09:01:28.977742046Z" + created: "2024-02-01T09:23:17.991741748Z" description: Azure Blob Storage CSI driver digest: a251a55243de207c69ef53f72abee45e93b72fa4fc43dc204b7f1cdfd459acdb name: blob-csi-driver @@ -291,7 +318,7 @@ entries: version: v1.1.0 - apiVersion: v1 appVersion: v1.0.0 - created: "2023-11-24T09:01:28.9770962Z" + created: "2024-02-01T09:23:17.990943476Z" description: Azure Blob Storage CSI driver digest: e83f037a165eafc83a978bd7e6bf6221b052ac34363aecb12e6a73607dc58b89 name: blob-csi-driver @@ -300,11 +327,11 @@ entries: version: v1.0.0 - apiVersion: v1 appVersion: latest - created: "2023-11-24T09:01:28.976577418Z" + created: "2024-02-01T09:23:17.99033949Z" description: Azure Blob Storage CSI driver - digest: 1cc9092f913ecc7342ae96c0b054408a3c199bea6998d8adb3b7d5bb9a3edc02 + digest: 7e2732acd8fe3e6b26407065daa11adc28cfd6d67c83f60b38546ecf4bb88704 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2023-11-24T09:01:28.975686234Z" +generated: "2024-02-01T09:23:17.989245883Z" diff --git a/charts/v1.21.7/blob-csi-driver-v1.21.7.tgz b/charts/v1.21.7/blob-csi-driver-v1.21.7.tgz new file mode 100644 index 0000000000000000000000000000000000000000..bf0ac4f2e03df88a65c1762254303ea8dadae43d GIT binary patch literal 5517 zcmV;86>{nyiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PKBRbK5ww@I32Rpp@C#+5JM@e4AC3AAC`=t~j#Fa@ zIS%|EwpLoLR_pliQ2*a*wTl0@+Q&yfv=5JtI-SmO=j8B*R{OAheDVWoZI6WN5($a< z53N_@Dt7KqQgBE<0~dtRE}FG#I1DpC8=ZFJq~?KeISHkHc=mh50iFA7gocuFJOOku zyh4V1Y7__1MFpO!&597eb*J}bQHt_E!+r!}y9!{r{I^@3ql2RSA9fD+^1q8h0z83k z4WSVha0?;pqQK>ifVi9qHkJ*S1?sKOMyeJ<96~0DWPIL5O(sP1AsPXvAVDZTY9doWep)$kO5~iqErR&^^hsX4bw&$oCl4AMr##H zpUi-Q5ChIeupY*wNvN7+@O2tLuf|822bWsTZec=%S zngBi{E}Xe8i>OrN>vF&nx=8W}&>QqG)fM&kTNKwt*i;ti3-Nu`XVb((W5&^(MGZ6r zsfJ^WeF2D!)kE|JQ~fX!pnh}2zR-rk$Ef7Y_knlSOglyv7Y`kQ(Ho?QMQn_QF$pof z@t7z08P~%fGi?T(X2T5t)%Xaz#X(Wv7bb&djSEGot85Jg8dJ(7R=+e)V9(S4`96|U zKq2!)Eo9zVTC0nmp37i-JOY0iglk>FG)9htE+QdWP-sV}WGDcMJuGp})m1VL5qg6j zeijZ6!?FpaXu5_OXoCr(0Vj+TIlu6+(C~o@WmoCRR74>W@fn!`;viVWT|i>WxLlX} zT}E99WhwxAbec*C!Wgv^a)3Zvb%+3st)4Nx?o7pM+xdcB|D!&$V);=UOcz5({Rth=$@zrJgSIc%@R^MOY~?N53>n zjaOY;gxG~HQWN5s@v9-lYwSxe2-WB=+AP?A%7pBL{KELdLQlvk5sUG0S>$_4pgbb* z$Olg;fs}CMF;L?wkq04A4>5{94zH5tHKaI}6ITovmtEBP$MM0TedU`1_T@CKrq&V; zp-)^ax=8V!(Ak!IMOQ$iNPa2e z1HCpKwOSuZ{FK9Q5r}LpH;fb)1f^!3q?M(=)yUefM3x#$)i^q@#8F(xzt+&<@t7!a zj#Zq}{zFizmGStIWIpg%`)Vi-dVqNs)%8ljnGcP;h6*$X)nkk-RIL@Xdhd}4DUug3 z9)l~psNQEocM4wQLwzmyv2cWn8NWIf=M`vbdTA}ICH455DJ1>&iu#1YXXZx%e1Q3x z>w*yfB651=0hO8^5+M)p<0pz|nD|ONby0gg?Q&4k4?q=wbDxdIk$?ebj~OhZ++z)q zP$9AJCk+-INGmTq8TGoYMaR;lQ*0wZe#DPAA<%ckhkg`f8U=+H^?#VXpJ^HE>rbJF zC0w2_+9jwiusekTmeVe32HH5sq0-=YB!HpBL3l-Vl}nP*wt=#+2EYR%gt2#8CnqOm z?YdKaSGleE#wzx8NH)@Z76nin1C|ljvtW4q-S9nUQJCzTlDRc6--9%AHvw{d+dN{BXSx z$9f&TK?|8i#wVm6|3sORTJg8H=(2bI>HS-D)qi*M7X9n&wtv-s{}%ObZ*OjuS)**z zScWwb>OuOu<`Wt{s@^Eo>kS+7QN9|-D*yk%ai`$_J32mT?frkdD0fp>?$bv^ph>(J@gVfs9P}1iZ&l;n zVWU>NW5}I?`>+C-+1pAiBk>l6K41ZA2hpv?s=$>#avYkNE~igVsBsIrUSnazPoK(%58E{TKKz}G>nY!rsK>tYs zW4fTalL7Ay8?wF~W4G_)A%6sd9K5n*AR$)kBnvGMLTYIeePl@wXX36*11|BG<` zBI@}Ln7`wV1NuWdO_Y|Z|Gzq_-`6+k3=0BAQKHyH6_H5=Wb^dP0e8 z=jNt?tc~N8z{3SIOh;uV*#6FCCe-W7(GoHG11+vd`m^n{qM9|t&{xv-)Wtk?BoAC zDG!8tU394p`v9n{WfOvM7>eesT}y&qsry06TB1x+_Mq|dU~0wA$0`%PhT_%2_)c`# zY!z69%FBkoST6oRlu!?-M2D)n2tfxN(;$W&eDdC)NLHb4?BbK|^g2W4+JxFjEw6AX z$;YN)B7ZUZ%)o0`SB{bw(6a8p{ak92YVAdwG*PF8RV97D1YSlP=Rs$JxM`bA{I_da z#|q80;vZ_7D?Yr2T(YjFy$nG~}3Jq~(#Nh3`Hy zHq~5RM3xO@u7NTa2CBfkjOnriRxs99F`6Z4pP8)E+pMLTOm{wDz93zItE}t+XKF*3 zK1WDx4!h_!qLKt~X|{7q`Q8k3XGVUf%YG!@pT7`hY#)4#bH%t81*`7qkFToXR43 z+U~T37r(wiPsR!eJC=*Ad`W&YL3%vz5MjfbinDO&O|HHXCjU!Oqry0ro~XN=mP0@ zglAr-5lLh*7IOAiT(LlI#*AopvIHlCmIOH+lZ?5B#OK1I+ZFgFpv$tCue_nSZwuo( z!k!oFDuy&Q^=vG}?m(0(m|OrSWL%!wt&=>pY3_h!WR~)O9?mB0zl6b6sg{ln*gr?@ zO77PwlWXw2w)MBl>Sc&!e$#a}WbDo0ueWA7vnrO0qu=&L1gIA>Lgnd?KV1y3?tA^q z!Od0w&bF+@`F0CoX*Kk}t{rVAJI{{U_+`|TX9+h?lTDs&71l03ClbINJOL^#tqbV_ zc0efvM`*vb1yCWwpn@Wuv1Afb9pg@PirvZ#j5VL>Wsp--VNLK$tO%VJ=rQ@)m$+Ex^K33YS&M&e+fRG55Z;B6J2!B%GHS% zxW(&s{&fhPFwfq&+6?^vpKg2i7q`93UjOdu?E3!Q)pgHi6u#puDE3wFkH%#35r-dO zehcGrg=AXd96}DBqjq?fdOG=0jh^Kl(^=!#&!oZ?JCaqBcB3|;(ng`E zZPMH#RIe8qFCpNccXxx~{owZI-~X}WFKe+3+yYSR`m%z;bqIVpeJ>#|&s6Vk?uVBj z?yqm&-(UAW_paB)TFwuv7zX$))e%bPp}I~58A|LvXeC%V6o$ZF|MS)DP5)!Bf2Y}g zaCZ04iv18sH*@NtsYw(Hk4D`1uV8fb0Ijwj7qP6J?U{;=3mvrrN@aPwvm%7Q#Mo7o z3E?+g;IgRRIbiRG`g4nZST0E!Vzq;?VKM+weGDGsc(OsHTlbM!;aYuFNzKiDW3R-u-u_};@0Zng zwhNEgU!5tYo)3;uU=E>?00%f{{8Z-}|MlDYtCF$*-Z$$hsTJa82(@^st@P=gg--Q< zD$A=?#ZQ?qoynV>s}~OA!@ne42OZ`&+~iIz>TI-f*j4dL8q0dwB5ND04qGFqdKFj+ zY{inWDsWhc&QynOY%E)BY>mifDEQWC2>bGl${P7U@kU_tD?wJ}{~vXZi}^q8_CEiA zC&h7`T*{9yIs1)=pH1#!yJj+kE{0d;h}ZIDpuAtQkm9pJ?hcj`yVG0vEg~Ge^sH3K zyem3pH&hz}3wyetLgSNH4a>1BP25=I4r0ACu8?fXfLX+^$r#+Z>%&Lp!Q!mfK#iG@ z=3))?pchUd0FM1Xkvd&N{wed|RTl!S$p1TPm+t>LIXc|u|L>&4`F|J!Mu)IL`k&^G zZ6^K|0B)o8{2c%eKhl4USS>q>STFUbj1^lh3A zSV|)^oVj^|T$;X_pjN=nN>9z{aAjazMx4+|d_x1FldB13i^si3a3g&SVs6KmCGZY- zAc|oZ$LNCIW5^*swQmWk#P>}o)na*@y;`Er`L~ zve~c}@y*v+EyCu(_nWe)`?IBF#TU!08pMkwxsCC~6;5(>gcGXv`{a*m=WNNmT}fu897O}^sz1CtyS~0ZzrHzt_i1R2Am_(k^Jwmpl}6#V6pJg_AWM+k zf9~B5uWtGqAuC+jQi-hCv(7fU)>+xN&Q?0tS=GB?@9zHN*}v~^2ED$Hf!_B&ecT9T z>Drn~oC@EoPzCGZxx5;lonQCvKMgL=?s}K!8{sP4sZ&6r=7K9Wg7UVDXsP^Zr9*9 z%MDc9<+_y!%A8gL9VGXg zb#7Z}{rL@Hw&h|2q_a7f0x@2I0<03vc3*)7oT^Q{(;t8O@aepF-@m!+-S^Kv_H39p zJw~ub(!QqoYozN}174D-|NR|&Sm)?~ai^_uXdur>6Oc(BmylSBEXaKDGk>jQ1)=)> zQEgEQiG$E_u{#B&Ax7SF0!ewGtbJ`-381+t?Q-P)kj!^}NT#qCUvfNVk+1*a@a@w0 z!qPPHY}F+(hE=KNwmq`5wAHIzHhBYY#c6^i>S%KkH=>|I8@+mK*1um7qcWo*V@>fz!XM{EMdm1e+4y21ox z{Vl5dMCkwZXC%}gW}MVto-zqQx7z@r>thnEjn(9~+i>O2?$|KLHC!JHv1UKl>=Vp@ z$_+*??#)|N53A6v?v^WvvPQPrp;rNP8RH(IS&^{e&}SpIGH5l&acX60Jtx#7bn-QX zws7C3Gm24de&j0}{TEyrORee3Fqd6kOHIm`+)BI7krbtEVjo*s<-JCKC2X-|+^Z(< ztE$@g`iDP*nq5OhY+1{`3PaO;-l&LZ!(Q0+>gyEh&b5=`?_KMr?J)TN0;NW1e4yN91ME&I#h*2)VDgx!f2|mhEpYJ5#^wLO8oLprti#h!PkTRvrL4RE zf6XEA75o48!9k~Z|HI+o!G8b0i?U+>zte?4r|EuAOTaf${Mm8%UQ~YeVDC;b*c6+b?cTq|Kp}e7&t^|ctBda1=xDc zVQyr3R8em|NM&qo0PH>6a@#nv^Q^BxDYLb+dqUlO$*ijU;8;pl6-RbiPGGL;{UDo>B)EPDi9tf9{Q0j;0zeOC-Tc3^5NHUJ6fG$P@ zWTdA?aR6OZkg3|di1DQxeJIOPod0v|M+~@HpQDffPoY~w zXp9BiK*+i%aCsvjE@y&GWW!~Fdh4^XfonS}^#m#Npr02d*GD zAjogq^e{ISawEEyRL%8SH?AsF$#!r6fh1*fXhJ& z^>_>@65ye)GoYFbp;M&ARVWl3CS5d>G8ElrhUo@jO^>;vDY5t>nl7UgGL1MmA@dxU zQHco!-c4LNge@ug?>^^QGdTiF)YFcSfH=O_f?xs6%S1qM++7;&bv znI~!?^UhPKE_!$@qw(<={8bn(HGrv%90y%QLb9Mxk5I`_01|sx;+m^LG8GYeg}(eK z92|ya8%XhV33JdE6GqpZFizy+!pB162P%|dr3X_ng+#>XWDbafU=eo#i5cT^Q|WgZ zbs?1L1kkAAuVwXf1DW zFVR$Ss``_KA>%Tl>ZN3eM-(k59l`=pMmb{=jTcCOlxj+2HR(0F3xiEj7%vdq;~?|_ zb=B_zNEbaQ+~?wxP@>*$wc6;hRt9>k)iP6JDQuRhq2yAjrwiR*>8$P|tQ44|Uz)YX ztA-XKcA<;ZfHA2O&@oF^WEp21)fAQWDFFE3O%rUDWx<>Cv%$>6-!el7|9^oBP9hvsahwgWod6UvGx;*rPfk4jm{Hk6c_Su)pd9>A!<6u zDo$zt5h&Hlc>G8*A9$>NH5LbbfkhY9^-95+4~@Kr3bX{(V~Q+PwH3B{|DFgbk{2+U zfGfMGK4c?z243VteIxwwhX&yB>i?keL~?g^P>Phz~bC> zL5QD-oDDpnQj0?}$pd`JN!!QamHG{&7`ajGz z(A11I_ovXq5_)f!^%8m)*qy;Oma{Hu2HH%=q0;5IB!H2`K{%iqq(?G(H&C|LHSmB4 zVJx54n>TODdiGg0U*!hpg_Z47iQwPpM0~~4oq25fZCkXH!nNuhGoj8E>mT)w#K>K3 z0$4^|%fdvw=PU}79o!9I?81>WarG`8|pz6LQ~0^{dgynSmdux4Qm&HtK!2T&jwC9lb(J zeS?g{NxA>HKCm7`}gv`ZqUMH_GHvc5|#>G!yDU z`n%>68r`ebD7EQ>?4srz^QKS6&G<=8&uPh77kMxynAU2_fb$vlmI_jCWLHL(*{tZ@5_hl=WJ=C z4Ivi#QEahmf>P}`h1x-CkU>)w@L@Cis>kQGmW>R9)vzyfcBthPerV1 z8nxOjL+%XRFKdt)*M`J060cF{0~Vk*klk9WZC&Xj$DxVkdiL;u8aJTf8cTZ?Jw7Uy z3^Klv~`=GFLrF#C~&A<Fk%AQvH=1*%)z8FbO#n~#sRng;9NhnRZWc%ZTCSKAvpWkAC{ zJUGaM388@M+6Yu|b>yV4aO6wWFj)qAYBoNbh@*nMngi#=1N6JHRH=(jkMy4;FxDZe zJ1H`tp8i|&R=dznWy6c%PO%zCo|R>!V+rF$%CT|oHfnapHAqS<UZ^B8pDEsDZ9-mHc`c70$`lb1{)5;f}_IN3HpN%yF^>FPnDUkEJT9)-HOu8i{)=TgQ0(63|BCKWb_ReO>Zs87eXOW9?i) zav7OVGK}vkR8S;tu zH%ogpnNqLWmq}G@i)^ulrP_Jo6+@Q`W7{P%1CrLu=gbU?$|e6ggDu67bC53wK5v3C z(M8&;TP0{&b&v+RGlH}_mKi&EbA3}S)kR|2;Q0n5bAiVS%BzGf+hGO!aGju8(nKZj<58r)Vr$7vL(x{+ctj2Th+Nr1qm-bQ4iY0_d3?7lk?vFC9R;_Uk$&U?L^{%G_! z3!o3!1MWba8nzx{16QO4iIP+n$+LE+B`mMuUUKZ1G&m<&;?MGH;}Teh?r}(*Uqf+r z(pm*Ej<}F#?N$y5=)BmCMtb9J%DqD-oYqCnIQO$5nERzD2-lgM&vj#*=7;8ocdo;T zIxJZlW)s;q;qWArI4y>I#TQ7&BRumujeH}Ev5+(QV!#5s88f2Y$ugXDS`timO#bf% zGd>r7-|vK9fx0~R^1wSz_kB^^WU}X{b(KIGNIe?MX?G+_04Dpy2^p7XcIzb1ZJMoO z>6w-CpU1O{_^%LfRjOyl4&tBVcCGa5B;5^UUT-hR>!F!3V}w=)i6#(d9YDW+v6W%wRsw@AsT=86u`ZL_^o zyMBWG9{6}M0+&%wbkR{O2NN%F%h&Dv>kv3$p1pFl8Th}SZu)l@H~n6Jcsn@1yn8pe z?AwgOcbo;qw(9-SgiJr;@B=JvU{VH1h9%Bg<={DLhi8G)>9(r(Ebo%MsZ7dcu_0L{ zX*X&kO76SOX0<61FKrZx+9u5yL-l%5@Dc|8d3$?3y1Tx)`q#hh^vhZ-gSUXxy1uO8 za1#c%=WiSK@TcBgaCdq2{_e8>xqrDS)pFKfMK{2&sg6)O57l+{$w*@Ni&lb_ zU11pP4?hoXu7)4`!&@!(*XOtYtk@5MbTj8{nwmwS=xD-?{|H9cchGw4aTz{)wmnm^ za-pGCMCn}K@2CjjuP}BMXF~W*7q~2{cMjOQqW;37A6Cz#471un*f4pWs6GLYas0fj zW{^AKm*OB634~ur)5VVDk&sR8Q*dQrM7Hmk9rh4PX4h^Vvgb%Q^OMD=TlVfFv*NY- zsuIZEePd6gwb}k+Q}376clI0}vA;SqOg$eQqre!2GZ{h`qk%csw>lXp?<6dw`0S9o zgQdjo>;`^~2nR1c{1`HCKqu^qW)HTNjlD5HLD| z9n$}_bnG+nuYhnTwGru))+5QWglT+ST$$5^PR$|g#DXdwUN7>If1hv^r=(;N?vgoJ zYUzvQ3|hE2WDCAnwxG3PFOkp}v%q*>P%M`;*Z|T)=lK-D>p?H)iCUdUm;v;tNLKYE z2Q1l|Y?DB!Sll&ru#|IVX3p-}bZM?9`;bF?m4qb%6JLiS&2<3flHNctWO6{QF!5P^>pMkZ zPPmM)@1&>fQz^+z2i@=4)LF}1&%>;r@8-cDH@{K0XHS`pw(hje>r~57A}>}XLdI9B zILUn`PN?c1GDWIAxh213;hM&zxGV@T^-50PX1=SNYJ?hMmi4?=iefD2bK=8P?WqcZ zfl3E#um5&%KD>K(b2Yr}4|{e;Y@ISns05B(N#>=5MuTZE9NnH@Uf#XEyn6fY)5scb z&iB2R(cB$Cjlw-X7QeG0mJqr7+`kzOu7*1iE8HklNvzni&OVyfS=+YGUK-a~*Sb;v z_U_~PzwWNC`$HWty&Hb|xD(0JT}qWS6}=~s3O1wD8;s81UiR-kUH8s!`@Oe2(JEZ@ zR3NrKj-ad`Clafo2nwWG1j*G0>8`72J&XP7Hz*$x0XOz5^Pm=l)!I6eS2w4W8WpPctf!qG#$te zv7DWK|3mL)@VS3;chi4=H@dp`aCd!v`_D3lyo{~L8if0F8=n-b6=yK7x!HTa4N0&B z%!4yKs)BmoF)#6C6MJ%}fPQAdwlvp{Da?ZfG(>6F^kQbyW z$Rz1YNG!#fB_eCPS+s&teJQTCD22p9=(yOOfzps=R;%vMwPV&Q)d|zfbV~?}x9zU# zN}?}MP8$9N77o_;Cp%w>oH@h;wWP}OyxQ#M<&_<-@2NG-shGAo&-@e4hHPb}?{+HW za5m#`Hlu{9Vl`WjHNU7G4u5RK-!6wg@{9fE;yNMVdlhn8_)J|HKvyPdf< z$Hw8|c*?gpp0aDe;W>`Atl9!vw^y8nc#6$858o0`XD(|kXJtXx(f0PYJ6)4U6y(B0 zX=RhorHq~ZO61{a&Wj(-vB$xy^DPp_v&^wjHkaS_Yiet;slR5GXDty#WlWY{=P~+Z z+zgl(`B3c5Byuoz?CRbobUw+BiN|bWU zS9-=aU&r=72cLIwD-Hbe)X~;?B`X7;D-XM5L01Gn*BzL#NwKrC){}h6`3>WmGf^wd zo84L5iGvF3=E)s(mws|{7q%+hWgo8KR?Ko^6Ki31K^P8BY&ccey-Pl(U>y!|IhVsdB!icWMiN?@UaG% zf~>zrb)N|RzupR{KTJQVzdU8xfUdU#LD$D5*qEw0+hn7aKf7t897DK17GlG8ZrCQ6 z1C=}UT-=)1s2*04Ti+~K5VaidwLwop=rYDVLbFrCMnj*C+e@d_9LK4ZXX{%+Jwm77 zV$v2aKX%43sojtKM&tj0E8|&fnlj3r-l?Sq&o)EP!W69vQMJWG@rLC656p9cD?#Eh5GE;Ny+zf>!$q(__WFPO zoxocCfAXfF|2rqghwuMCOL;NDc zVQyr3R8em|NM&qo0PH<&b0Rm=`OL3SvAMe3Jv)H$%jT%^2d`l_)Os-m-p$>UO1Z>L z13J%06G_9GIR5WXNt$8aVZf}t$%FDC>zP(}OVet#`bA7!HnD6$EQgZ?@aE+lbJ+HMM(aF)-@pq`TKNiYcASCAB zwVq5XJGehd!#?>8To6V(XmM1-zMuHB(LQb**BlTwC%)7VFMba=ptmlYps{2e&j4MH z`^ZR7jbaZvC?iv~MHb^r5BktnExY~~*bPAJR{^YF|3^nhtyXsZpB%Lg>;E|#@$d{f zHH0QuzzBTSL7vSU9tPAVDZOYDNO3 zfhC^Bt6n|u1J@lgm)Oe=>Q4tu4mk**vWAc?$dI!IQK|xXHDXF|{kT(t=5gb+(b`1P zB@3V+#E`QIRHGPm@l}@uy>{cMwV5Dg4s`WG8^MeS$?+BgRh`3SYVoLhiiICHb6^WH z0zrP?W`?=xkouw`V2eR(tgdjbI8Ks0~Om#3&%fk;gb70X7FI z)Z+=DK!Ah3%z_M$2 zfG>y*7q-m;D%Jej9I%8Ak~{$P3jM5xqW=9Fg|G-4V1d36*HvRST^uxJ94%SUKx2?< zI;PkafXGxmL|-t~4+8<}Z;sd(+EDZum7KXQ@Q(V@mRXFehnB$T6;jM1Hbvu*g^=HH z&LjGa>*)`LHi1ry;SPvue1h%lq$u<&n?Z}lrQ+09#)d+TDPeBg;aUfsoA0^dnR<UZJ}m zg@t`TZv!cwu3!P$V!~+13FAaAFI_A&exO1bR{CQqrjQ8uf-C@W5G>#}ATeiLR+WC6 zQ5$?2F91C|O|=O8khJA<08g8B&6=O&XQ01`SPBWAWxIipz%82-No?#Y>SM421+C=` z?j@QjPSt!e-)CF~RK1i8@qnV$qC;39$|z?{qRA2okWwvatQNgScWJOG3X>&*d+hlx zppN=G1JXec3ipNhB$TKhwOU8$v6csVtkn`rVkK+^OGC+}Qcst9zT#EgL0Bm;OTRRG zjZ+RSd~8DpsSjeA`Kuu%YwSzU^VRIG`mDr%&V(F*{KEL%N>9i+5v%#JS>QTqK{-U= zi3^TW0x{#rVW8$!A_sh+4q_C29QUK{HKZh#6I%=!mmSpp*V*w&@zys7?83y;ZqL31t5}8wjU@d@N(VSQLlpWmJ>UABC*(7DyPwYB8}`u{9Wv7SJtrnlC-T2hZ+Od;vFed-blpP3tY@Bx+= zwhco3Oys=p0F_!CqDAiE`%e@vFmaW3>Y$@)+T}Q>AAl+ZZ(TN-1_Fkh-7i;6O;S%a zLPCYat{cIxKx5#QC!>DUIBA^Li@LQ7`nBVZ?Z#1~Z8{2&AMyRQ5A+>zVGwwUo?hlf z{a@x3XnKZ<`;+fr3Ej83L0w{d4nr*G9n|!+m5zO-%5R7VV~IV#Pc=xFB-E~_Osyes zj|gE5pVpf1-|19*!P1^PZ1#0Ww3EIqR6AxpT`1N+>H~?9 zyV?}647iqssd&#>;713z5n$(MP9$7Y8`NrlH@;c=u)_5oq)`cDiPf>l$YRZyxSf?N~XiXJ*5RAF3?6r#-C}!%4#~}K9989O=zJu!5Xl1VdsQqyZ%a@Ii(ObDj6nzG+qhMkpu)Eb!pmHlo= z<`w#dX>%L9zoPzB+shXhUA5Sijb+X%`mn?;ECiWRaFB;7o++Cz#EXbA_6XJeg*t*s zpz1t`g??!gx1A$l){;XM^OiSmn}hiP_(Ba z)HRJ-?S>(H4))y!WX822u?)m(#ro;ug^x@o7(_+t|gZ|lke5}R1%GL3XBVX}-lHqPBft(b8Q5)<<|p>m4qe-qZ< zL_IwK^Y8G?i2l$%Go_{K|5Hcx+xjkpVV=j7;bs(@C}T1LFivQL4f}q^QDKbohX)j` z?bNqvpu$f2m`rWcF{@0=SvC&yGJf3zpXw!{wi`HQqbcFcW}eTeK0+k?>v=dIb7`^Z z)*}yXUu&{Vk3EWVM7&Rh)yEE+;6 zpN%9t;YvydCd_Lj*?+L-u7Ow)PJLOk?ES!XSAn@HK1Z2nif_2$jlVgG-Q zc1NhwL0xUwdq8C^nGlA3Uo;m-wJ7EpyLi-EicQE;He4DBLZK6H7-; zH=#u+ziqgy?cxta33Y%n|jqn0W1SOmVUWFI6Y*$6S|KYiC_tjmW>1>|{4Ixr)q38a%U+#qZY)A+Z6ZQ76&{;y#ItgHFNLnd$ZiN>a@X$Oxc%sJ(6lA1QM7 zCdfzb-z4qzWOB1syiKZBw8>^inCqP;Uh?TuVeDdwOn}7w(m6AOta3@ePGE~Mq&(!S z51%%{nCKww)-4mXq&kR$+zCNiAIl6qys5bCJHktYi1s zC)RJiI6rNzgO~(d$n&FC5l|TQvu4V;KmUnQ#)qFrV7r)jCjOUW0O%t71&rW_Gn{&d zOen5{nqk^#LooX;D?`IXy67hHh*L|`lCjVsNFCD5Nr;Jxn^1a`gd8`+z2Xa`AsGVdunzSeoZ<*BL3d$lCy5Fy^Sc5vhY}3FyYKnbPtfD8< z8lg-e4W#}Ws}*}JasVcA#qt@K=f#Fin%g+hrC?^(%6}TqF59Xp7BirbCS zuk(8=$h{ZnB81wR`VRjVk-SAi2?yNygq&|6)aq~1fk``^?+97F~B!n4IS}kt5KdtPr5))IHe77Cu*vhDgevJX5bNDRqe7Q`~D?wkF z5SYQN^j}UwSJtt~>wAiNM63PTK>VJ0=W`~R&D;*Uxg74oMp||YDTg2xDHmqenKs45 z4LID)IfyxP9h2Y~x4D%5dyt(hC8L^4CP0s^=pCU%66|)t#mh0+j5?x&j$0|1aD!XD zK1#p#ffMEwcP=*r|M%0VcY8VNb$f%G{>9bpyZ%+L$S8crnU@`_K3Yx5>?8I+z;XoB zJV5kW!h}~2j-?KV1#mi3SIu6*yC~->k*=8?NK#1_8?^x?_nl_5+>{8nHVRp76K9*D zdOa(65d%Nn+ziLJ!_oD>|5Hpquf-C0Ge`^fmkk_NVQ_o?wqY+VRPV2E$K4ONSJ&@v zuX>+*S5>LzGX_hh0e*{hgwlDat`k?r65DrL36@TUVX!y&+#g*JKK2GTTI`1xH$Rn} zhd|ni5}l@IQ7Af^aO1y%(ajUI*?L?>-k$Bul8N6ZrN??}_emgIquP3?`a zW#)@)KQTL;A(YH+JUS#xP^-Dv!orxnyVnZw7P`42$lcv)Po!1td{NbLR_Jzn4rkim ztvRNS3zkt}7NLOv3pi)|TxXyE{bl`C(cFLQhxM4%lI3O?EpT!d@~2N0x*X*pzg`Pf z{G16hn6%lsdE+qd|1RM=Ua`F9Cev#Lv(wH|tco}CnAgkYAfzE>DgH}|L5p%|I70<%d%1_ zKf>hfH|~Bkxr;|NlOc3D?wi8C^~peKPhTd*XNTM!EG4$*Bls;K9GtlN(PvJdPT4h0 zR<`Bp*%FL};jcyt!mwzzzAG{XduhAykvXs`tQ)F%5z^e9q8{}8Ie5Uas|)e&fR0iX zeip)kLqI3aVxM%HO}!0WbZ-=F@7|tcI)iUWfmK-llsWLE3!&Dp|KrwauKwrE>B%Ag z|5;j?|A)b2bPPMB|7q#iXX0N5;ZABJ(52R6$+3i4STC+@VnS!83Oh1`vc>CJKGN?a zj>43bB*I-X2XiBRk(|K-E)Lm(FP1G>IIx#U=nGk3JS`{%moyXs#8v0%6v1J?n{p?u z&m&9#I#fivdXxheoiDaYAXF^wnmU-vIWsF~_iVa2*E1rmkX_`Snrj4<0n`mRp|kJ; z5khDE8D*=-y?d|&eM@KRjF)8a2Dm4(ffmc?s@}cNA-qeXAdC`Tha$~=0QnYQK`>yl zPYYqfV*SE*io$|$8DQ6n%j{z*Nh}9F@5$8Jg0-H8*}UG(gKsy#QIBV@nT={@F4tr? zh8Lw+(JdvGuNM0uhojubn)4WD?p}`3j|XL0p)r zgHpz2U+Nm|_TKg{2Dk4<*Mpnhpj+%Bty4w`mB6tr$s(7eXfX8$%mUMGWP_P63dRPy^o=_H;%2nm%+8S z9o@PxZ;ob>IZ#Gu+`GB`c=7Ms>tS!8W2U!*Pak(0Tka~RQksh1lSp~h=ydzzi?>(3 z+fT#p#Z9mKb|+eyd!jPLHir_F?PLXFT_8b$G_xSt{+7#Zye>u=VQJ<8Q@B9do3O+n z>oV;#xwA38=SZsDGCqDt?EP~m_UeUMHD^uXS)8{k2j?{MU2|xQFMzHfZw1$~?N{nH z639zJQI{Ph@M}=tUK->0c@8W*&#XS04u<&p+f!;71r z@)*)GwkGos?qe@P)C%oQgL%Wn;`<#)gvDbHoEM|YsP`Rn8&9iPzB?raBzF9Q;TGdc z2%m`rheJn?k4@hVW`v4nX$Yl=iLa7W5O+>}k@YB&pu6h8f~9zoww>fB(aWPj7p-gX?bZc5v~rS44T&x`hf=0-EQq zQ6Er_cui%%w^wOVrB=as^D0y+qy=dPGD;j15=(Jj5D+f9*|daFeJQWDD22qHZ`s(M zgVKs^!O*`Q{L2Z~I+0l|N^hg9XV7byV+)}=}qlWKvIdnT?$Cjn|*b0 zof2@J5;@KMN?sm7cQ!_`@WIyVN&hHN5r>Bom#EHLUuNz$ic)ae!t)Hri@dgu&`;{`LmJ} z5&ina!R=A*_9zRirzWue@>|YUqLgC3)H7CnAKUvHeBRA1_u)$`mkPq6YpYIM#ta$;+HRN^YpQT4VU^&f-oSl-NB_o~YaSw?KDctJHzMp0OvD z!L700Do;l$C1LfWRB7=jHS-R2crR0jx4l`mK?*DF57osnw|`h`Ewi<(l^J_gYD5pk zi-oPc{)bPnZSCa}@D25UXUAv9nfkw@H?70{-_O!AD?xqqhPjwhU)&!S|Cyip88H`9 z1wtAc2Xf9h`CV^!iMqkHRYSUGXna_3FM(6+CNERf7vJt)KggAi=;$8@z&_C>f1-na zsn>tim=Xr~FLi%a;}@EeA+s%m0Htb|*opBGV5K-{t}QgL_pIzDb^@BcYDesehgKS$ee{(shu zK-VFBOIyGTDgNXvkw{ra-3IH|&@Dxw*CjH;a{r=-g>)`)= zo|cP*qz%1zC&;8g7AlgpC$tSVdz0 zaTSgY+(yz#bPt<;Klh+o|2l1Z{lEQ5V59y&eUs7u?bFl4{eREWUQGYT2IWEXA2k1= a9onHC+Mzvj`@aAH0RR8<&(ur+r~m-9Nu$C5 literal 0 HcmV?d00001 diff --git a/charts/v1.23.3/blob-csi-driver/Chart.yaml b/charts/v1.23.3/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..ecfd21292 --- /dev/null +++ b/charts/v1.23.3/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: v1.23.3 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: v1.23.3 diff --git a/charts/v1.23.3/blob-csi-driver/templates/NOTES.txt b/charts/v1.23.3/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..9ad135dd4 --- /dev/null +++ b/charts/v1.23.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="release={{ .Release.Name }}" --watch diff --git a/charts/v1.23.3/blob-csi-driver/templates/_helpers.tpl b/charts/v1.23.3/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.23.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.23.3/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.23.3/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..9ece72de3 --- /dev/null +++ b/charts/v1.23.3/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,216 @@ +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 }} + - name: liveness-probe +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port={{ .Values.controller.livenessProbe.healthPort }} + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }} + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.controller.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}" + - "--drivername={{ .Values.driver.name }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--cloud-config-secret-name={{ .Values.controller.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.controller.cloudConfigSecretNamespace }}" + - "--allow-empty-cloud-config={{ .Values.controller.allowEmptyCloudConfig }}" + ports: + - containerPort: {{ .Values.controller.livenessProbe.healthPort }} + name: healthz + protocol: TCP + - containerPort: {{ .Values.controller.metricsPort }} + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + resources: {{- toYaml .Values.controller.resources.blob | nindent 12 }} + - name: csi-resizer +{{- if hasPrefix "/" .Values.image.csiResizer.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- else }} + image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- end }} + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }} + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.23.3/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.23.3/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9c5de5b91 --- /dev/null +++ b/charts/v1.23.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.23.3/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.23.3/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..842f76e47 --- /dev/null +++ b/charts/v1.23.3/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,326 @@ +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 + 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 }} + - name: node-driver-registrar +{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- else }} + image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- end }} + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + livenessProbe: + exec: + command: + - /csi-node-driver-registrar + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 30 + timeoutSeconds: 15 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: {{- toYaml .Values.node.resources.nodeDriverRegistrar | nindent 12 }} + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.node.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--enable-blobfuse-proxy={{ .Values.node.enableBlobfuseProxy }}" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--drivername={{ .Values.driver.name }}" + - "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}" + - "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}" + - "--append-timestamp-cache-dir={{ .Values.node.appendTimeStampInCacheDir }}" + - "--mount-permissions={{ .Values.node.mountPermissions }}" + - "--allow-inline-volume-key-access-with-idenitity={{ .Values.node.allowInlineVolumeKeyAccessWithIdentity }}" + - "--enable-aznfs-mount={{ .Values.node.enableAznfsMount }}" + ports: + - containerPort: {{ .Values.node.livenessProbe.healthPort }} + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + {{- 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 + 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.3/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.23.3/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..833dcc640 --- /dev/null +++ b/charts/v1.23.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.23.3/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.23.3/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.23.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.23.3/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.23.3/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.23.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.23.3/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.23.3/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.23.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.23.3/blob-csi-driver/values.yaml b/charts/v1.23.3/blob-csi-driver/values.yaml new file mode 100644 index 000000000..70d51e7a9 --- /dev/null +++ b/charts/v1.23.3/blob-csi-driver/values.yaml @@ -0,0 +1,180 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.23.3 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v3.5.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/kubernetes-csi/livenessprobe + tag: v2.10.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/kubernetes-csi/csi-node-driver-registrar + tag: v2.8.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/kubernetes-csi/csi-resizer + tag: v1.8.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.1.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/v1.21.7/csi-blob-controller.yaml b/deploy/v1.21.7/csi-blob-controller.yaml new file mode 100644 index 000000000..2c5c19642 --- /dev/null +++ b/deploy/v1.21.7/csi-blob-controller.yaml @@ -0,0 +1,143 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: csi-blob-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: csi-blob-controller + template: + metadata: + labels: + app: csi-blob-controller + spec: + hostNetwork: true + serviceAccountName: csi-blob-controller-sa + nodeSelector: + kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node + priorityClassName: system-cluster-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v3.3.0 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=120s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.8.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.7 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29632 + name: healthz + protocol: TCP + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + - name: csi-resizer + image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.5.0 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.21.7/csi-blob-driver.yaml b/deploy/v1.21.7/csi-blob-driver.yaml new file mode 100644 index 000000000..7b216feab --- /dev/null +++ b/deploy/v1.21.7/csi-blob-driver.yaml @@ -0,0 +1,11 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: blob.csi.azure.com +spec: + attachRequired: false + podInfoOnMount: true + volumeLifecycleModes: + - Persistent + - Ephemeral diff --git a/deploy/v1.21.7/csi-blob-node.yaml b/deploy/v1.21.7/csi-blob-node.yaml new file mode 100644 index 000000000..263019f36 --- /dev/null +++ b/deploy/v1.21.7/csi-blob-node.yaml @@ -0,0 +1,203 @@ +--- +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: csi-blob-node + namespace: kube-system +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: 1 + type: RollingUpdate + selector: + matchLabels: + app: csi-blob-node + template: + metadata: + labels: + app: csi-blob-node + spec: + hostNetwork: true + hostPID: true + dnsPolicy: Default + serviceAccountName: csi-blob-node-sa + nodeSelector: + kubernetes.io/os: linux + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + priorityClassName: system-node-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - operator: "Exists" + initContainers: + - name: install-blobfuse-proxy + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.7 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "true" + - name: BLOBFUSE_VERSION + value: "" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "" + - name: SET_MAX_OPEN_FILE_NUM + value: "true" + - name: MAX_FILE_NUM + value: "9000000" + - name: DISABLE_UPDATEDB + value: "true" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-etc + mountPath: /host/etc + containers: + - name: liveness-probe + volumeMounts: + - mountPath: /csi + name: socket-dir + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.8.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.6.2 + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + livenessProbe: + exec: + command: + - /csi-node-driver-registrar + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 30 + timeoutSeconds: 15 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: /var/lib/kubelet/plugins/blob.csi.azure.com/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.7 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--enable-blobfuse-proxy=false" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29633 + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: /var/lib/kubelet/plugins/blob.csi.azure.com + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: /mnt + type: DirectoryOrCreate + name: blob-cache +--- diff --git a/deploy/v1.21.7/kustomization.yaml b/deploy/v1.21.7/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.21.7/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - csi-blob-controller.yaml + - csi-blob-driver.yaml + - csi-blob-node.yaml + - rbac-csi-blob-controller.yaml + - rbac-csi-blob-node.yaml + - blobfuse-proxy.yaml diff --git a/deploy/v1.21.7/rbac-csi-blob-controller.yaml b/deploy/v1.21.7/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.21.7/rbac-csi-blob-controller.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-controller-sa + namespace: kube-system +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-provisioner-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-provisioner-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-provisioner-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-resizer-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-resizer-role +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-resizer-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-controller-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/v1.21.7/rbac-csi-blob-node.yaml b/deploy/v1.21.7/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.21.7/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/deploy/v1.22.5/csi-blob-controller.yaml b/deploy/v1.22.5/csi-blob-controller.yaml new file mode 100644 index 000000000..8834d6088 --- /dev/null +++ b/deploy/v1.22.5/csi-blob-controller.yaml @@ -0,0 +1,143 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: csi-blob-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: csi-blob-controller + template: + metadata: + labels: + app: csi-blob-controller + spec: + hostNetwork: true + serviceAccountName: csi-blob-controller-sa + nodeSelector: + kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node + priorityClassName: system-cluster-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v3.5.0 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=120s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.10.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.5 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29632 + name: healthz + protocol: TCP + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + - name: csi-resizer + image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.8.0 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.22.5/csi-blob-driver.yaml b/deploy/v1.22.5/csi-blob-driver.yaml new file mode 100644 index 000000000..d2de725d8 --- /dev/null +++ b/deploy/v1.22.5/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.22.5/csi-blob-node.yaml b/deploy/v1.22.5/csi-blob-node.yaml new file mode 100644 index 000000000..bd5a35724 --- /dev/null +++ b/deploy/v1.22.5/csi-blob-node.yaml @@ -0,0 +1,203 @@ +--- +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: csi-blob-node + namespace: kube-system +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: 1 + type: RollingUpdate + selector: + matchLabels: + app: csi-blob-node + template: + metadata: + labels: + app: csi-blob-node + spec: + hostNetwork: true + hostPID: true + dnsPolicy: Default + serviceAccountName: csi-blob-node-sa + nodeSelector: + kubernetes.io/os: linux + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + priorityClassName: system-node-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - operator: "Exists" + initContainers: + - name: install-blobfuse-proxy + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.5 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "true" + - name: BLOBFUSE_VERSION + value: "1.4.5" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "2.0.5" + - name: SET_MAX_OPEN_FILE_NUM + value: "true" + - name: MAX_FILE_NUM + value: "9000000" + - name: DISABLE_UPDATEDB + value: "true" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-etc + mountPath: /host/etc + containers: + - name: liveness-probe + volumeMounts: + - mountPath: /csi + name: socket-dir + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.10.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.8.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 + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.5 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--enable-blobfuse-proxy=false" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29633 + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: /var/lib/kubelet/plugins/blob.csi.azure.com + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: /mnt + type: DirectoryOrCreate + name: blob-cache +--- diff --git a/deploy/v1.22.5/kustomization.yaml b/deploy/v1.22.5/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.22.5/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - csi-blob-controller.yaml + - csi-blob-driver.yaml + - csi-blob-node.yaml + - rbac-csi-blob-controller.yaml + - rbac-csi-blob-node.yaml + - blobfuse-proxy.yaml diff --git a/deploy/v1.22.5/rbac-csi-blob-controller.yaml b/deploy/v1.22.5/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.22.5/rbac-csi-blob-controller.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-controller-sa + namespace: kube-system +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-provisioner-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-provisioner-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-provisioner-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-resizer-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-resizer-role +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-resizer-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-controller-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/v1.22.5/rbac-csi-blob-node.yaml b/deploy/v1.22.5/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.22.5/rbac-csi-blob-node.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-node-sa + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-node-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-node-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/v1.23.3/csi-blob-controller.yaml b/deploy/v1.23.3/csi-blob-controller.yaml new file mode 100644 index 000000000..06a11ae38 --- /dev/null +++ b/deploy/v1.23.3/csi-blob-controller.yaml @@ -0,0 +1,144 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: csi-blob-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: csi-blob-controller + template: + metadata: + labels: + app: csi-blob-controller + spec: + hostNetwork: true + serviceAccountName: csi-blob-controller-sa + nodeSelector: + kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node + priorityClassName: system-cluster-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v3.5.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 + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.10.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.3 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29632 + name: healthz + protocol: TCP + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + - name: csi-resizer + image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.8.0 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.23.3/csi-blob-driver.yaml b/deploy/v1.23.3/csi-blob-driver.yaml new file mode 100644 index 000000000..d2de725d8 --- /dev/null +++ b/deploy/v1.23.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.23.3/csi-blob-node.yaml b/deploy/v1.23.3/csi-blob-node.yaml new file mode 100644 index 000000000..78e675987 --- /dev/null +++ b/deploy/v1.23.3/csi-blob-node.yaml @@ -0,0 +1,208 @@ +--- +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.3 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "true" + - name: BLOBFUSE_VERSION + value: "1.4.5" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "2.1.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.10.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.8.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 + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.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" + ports: + - containerPort: 29633 + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-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.3/kustomization.yaml b/deploy/v1.23.3/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.23.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.23.3/rbac-csi-blob-controller.yaml b/deploy/v1.23.3/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.23.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.23.3/rbac-csi-blob-node.yaml b/deploy/v1.23.3/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.23.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 702b04b51..839dc42bc 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.2 CSI driver](./install-csi-driver-v1.23.2.md) - - [install v1.22.4 CSI driver](./install-csi-driver-v1.22.4.md) - - [install v1.21.6 CSI driver](./install-csi-driver-v1.21.6.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) + - [install v1.21.7 CSI driver](./install-csi-driver-v1.21.7.md) diff --git a/docs/install-csi-driver-v1.21.7.md b/docs/install-csi-driver-v1.21.7.md new file mode 100644 index 000000000..7b19c8b34 --- /dev/null +++ b/docs/install-csi-driver-v1.21.7.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.21.7 version on a kubernetes cluster +> `blobfuse-proxy` is only available for debian based agent nodes, remove `blobfuse-proxy` parameter in installation steps if it's not applicable. +> +If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md). + +## Install with kubectl + - Option#1. remote install +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.21.7/deploy/install-driver.sh | bash -s v1.21.7 blobfuse-proxy -- +``` + + - Option#2. local install +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +./deploy/install-driver.sh v1.21.7 local,blobfuse-proxy +``` + +- check pods status: +```console +kubectl -n kube-system get pod -o wide -l app=csi-blob-controller +kubectl -n kube-system get pod -o wide -l app=csi-blob-node +``` + +example output: + +```console +NAME READY STATUS RESTARTS AGE IP NODE +csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 +csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0 +``` + +### clean up Blob CSI driver +- Option#1. remote uninstall +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.21.7/deploy/uninstall-driver.sh | bash -s v1.21.7 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.21.7 +./deploy/uninstall-driver.sh v1.21.7 local +``` diff --git a/docs/install-csi-driver-v1.22.5.md b/docs/install-csi-driver-v1.22.5.md new file mode 100644 index 000000000..045eb2ec7 --- /dev/null +++ b/docs/install-csi-driver-v1.22.5.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.22.5 version on a kubernetes cluster +> `blobfuse-proxy` is only available for debian based agent nodes, remove `blobfuse-proxy` parameter in installation steps if it's not applicable. +> +If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md). + +## Install with kubectl + - Option#1. remote install +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.22.5/deploy/install-driver.sh | bash -s v1.22.5 blobfuse-proxy -- +``` + + - Option#2. local install +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +./deploy/install-driver.sh v1.22.5 local,blobfuse-proxy +``` + +- check pods status: +```console +kubectl -n kube-system get pod -o wide -l app=csi-blob-controller +kubectl -n kube-system get pod -o wide -l app=csi-blob-node +``` + +example output: + +```console +NAME READY STATUS RESTARTS AGE IP NODE +csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 +csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0 +``` + +### clean up Blob CSI driver +- Option#1. remote uninstall +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.22.5/deploy/uninstall-driver.sh | bash -s v1.22.5 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.22.5 +./deploy/uninstall-driver.sh v1.22.5 local +``` diff --git a/docs/install-csi-driver-v1.23.3.md b/docs/install-csi-driver-v1.23.3.md new file mode 100644 index 000000000..ce1537060 --- /dev/null +++ b/docs/install-csi-driver-v1.23.3.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.23.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.23.3/deploy/install-driver.sh | bash -s v1.23.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.23.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.23.3/deploy/uninstall-driver.sh | bash -s v1.23.3 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.23.3 +./deploy/uninstall-driver.sh v1.23.3 local +```