From 3eb64478cc60c88113fbaa9623d53a1918d84d64 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Tue, 8 Jul 2025 08:23:09 +0000 Subject: [PATCH] doc: cut v1.25.9 release --- Makefile | 2 +- README.md | 2 +- charts/README.md | 2 +- charts/index.yaml | 111 +++--- charts/latest/blob-csi-driver-1.25.8.tgz | Bin 6344 -> 0 bytes charts/latest/blob-csi-driver-1.25.9.tgz | Bin 0 -> 6345 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.25.9/blob-csi-driver-1.25.9.tgz | Bin 0 -> 6343 bytes charts/v1.25.9/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 | 259 ++++++++++++++ .../templates/csi-blob-driver.yaml | 16 + .../templates/csi-blob-node.yaml | 337 ++++++++++++++++++ .../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.25.9/blob-csi-driver/values.yaml | 186 ++++++++++ deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 6 +- deploy/v1.25.9/csi-blob-controller.yaml | 172 +++++++++ deploy/v1.25.9/csi-blob-driver.yaml | 14 + deploy/v1.25.9/csi-blob-node.yaml | 252 +++++++++++++ deploy/v1.25.9/kustomization.yaml | 10 + deploy/v1.25.9/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.25.9/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.25.9.md | 47 +++ 30 files changed, 1739 insertions(+), 62 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-1.25.8.tgz create mode 100644 charts/latest/blob-csi-driver-1.25.9.tgz create mode 100644 charts/v1.25.9/blob-csi-driver-1.25.9.tgz create mode 100644 charts/v1.25.9/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.25.9/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.25.9/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.25.9/blob-csi-driver/values.yaml create mode 100644 deploy/v1.25.9/csi-blob-controller.yaml create mode 100644 deploy/v1.25.9/csi-blob-driver.yaml create mode 100644 deploy/v1.25.9/csi-blob-node.yaml create mode 100644 deploy/v1.25.9/kustomization.yaml create mode 100644 deploy/v1.25.9/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.25.9/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.25.9.md diff --git a/Makefile b/Makefile index 708e0d11a..b9c9ab9d6 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ GIT_COMMIT ?= $(shell git rev-parse HEAD) REGISTRY ?= andyzhangx REGISTRY_NAME ?= $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g") IMAGE_NAME ?= blob-csi -IMAGE_VERSION ?= v1.25.8 +IMAGE_VERSION ?= v1.25.9 CLOUD ?= AzurePublicCloud # Use a custom version for E2E tests if we are in Prow ifdef CI diff --git a/README.md b/README.md index a343e4e87..7936a3c40 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Disclaimer: Deploying this driver manually is not an officially supported Micros |driver version |Image | supported k8s version | |----------------|------------------------------------------------------|-----------------------| |master branch |mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ | -|v1.25.8 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.8 | 1.21+ | +|v1.25.9 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 | 1.21+ | |v1.24.3 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.3 | 1.21+ | |v1.23.7 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.23.7 | 1.21+ | |v1.22.8 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 | 1.21+ | diff --git a/charts/README.md b/charts/README.md index 435d8d657..9567b083b 100644 --- a/charts/README.md +++ b/charts/README.md @@ -19,7 +19,7 @@ ### install a specific version ```console helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts -helm install blob-csi-driver blob-csi-driver/blob-csi-driver --set node.enableBlobfuseProxy=true --namespace kube-system --version v1.25.8 +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --set node.enableBlobfuseProxy=true --namespace kube-system --version v1.25.9 ``` ## install on Azure Stack diff --git a/charts/index.yaml b/charts/index.yaml index 292f87524..4eef37d5c 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,26 +2,35 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: 1.25.8 - created: "2025-07-04T02:27:00.744536771Z" + appVersion: 1.25.9 + created: "2025-07-08T08:22:49.940941182Z" description: Azure Blob Storage CSI driver - digest: d507b6864a8172f32fdcbb65c5f0cebad6ed1c040c2b55b38b96c61d58455264 + digest: 476db6832d90bed8a759e36255f5b490f7d6e9ee70c0541e08ae8dc1dca9768d name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/release-1.25/charts/v1.25.8/blob-csi-driver-1.25.8.tgz - version: 1.25.8 + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/release-1.25/charts/v1.25.9/blob-csi-driver-1.25.9.tgz + version: 1.25.9 + - apiVersion: v1 + appVersion: 1.25.9 + created: "2025-07-08T08:22:49.907957814Z" + description: Azure Blob Storage CSI driver + digest: 8222c669e9ecee85c9589aaf1c689f8f9bed14d65326c1ea319d86e9b0a861ec + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/release-1.25/charts/latest/blob-csi-driver-1.25.9.tgz + version: 1.25.9 - apiVersion: v1 appVersion: 1.25.8 - created: "2025-07-04T02:27:00.711680916Z" + created: "2025-07-08T08:22:49.94029001Z" description: Azure Blob Storage CSI driver - digest: 92ff827601e2bdeb7c55e77832166d9749f747b9ef2e1cb08ce69c166784ee7e + digest: d507b6864a8172f32fdcbb65c5f0cebad6ed1c040c2b55b38b96c61d58455264 name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/release-1.25/charts/latest/blob-csi-driver-1.25.8.tgz + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/release-1.25/charts/v1.25.8/blob-csi-driver-1.25.8.tgz version: 1.25.8 - apiVersion: v1 appVersion: 1.25.7 - created: "2025-07-04T02:27:00.743881108Z" + created: "2025-07-08T08:22:49.939601722Z" description: Azure Blob Storage CSI driver digest: a53c5b8e96e16c22d4a854e2e62ebf59f2ed83dd3b5c30a586d51fd7fd43f1e2 name: blob-csi-driver @@ -30,7 +39,7 @@ entries: version: 1.25.7 - apiVersion: v1 appVersion: 1.25.6 - created: "2025-07-04T02:27:00.743206482Z" + created: "2025-07-08T08:22:49.938607448Z" description: Azure Blob Storage CSI driver digest: a72dce2f8950042da36039232efa8fe0fb87cdf7cc9c6523104fe25558f2135e name: blob-csi-driver @@ -39,7 +48,7 @@ entries: version: 1.25.6 - apiVersion: v1 appVersion: 1.25.5 - created: "2025-07-04T02:27:00.7424878Z" + created: "2025-07-08T08:22:49.9370966Z" description: Azure Blob Storage CSI driver digest: 0e1ce3cbad9d8d7c3bb3148c29adbc322ce384b0dee80638c9c5e7b3bae8a79b name: blob-csi-driver @@ -48,7 +57,7 @@ entries: version: 1.25.5 - apiVersion: v1 appVersion: 1.25.4 - created: "2025-07-04T02:27:00.741810483Z" + created: "2025-07-08T08:22:49.936443782Z" description: Azure Blob Storage CSI driver digest: 391be65e1cf2c14a5c5fe32f5938e68d52fd15ce80f4d2365b7685593475c0cc name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: 1.25.4 - apiVersion: v1 appVersion: 1.25.3 - created: "2025-07-04T02:27:00.741105703Z" + created: "2025-07-08T08:22:49.935783812Z" description: Azure Blob Storage CSI driver digest: c6de64c1a085ae4cd233e3fca0d5099b61e1c5147132cdc9f46af3546a31ba9a name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: 1.25.3 - apiVersion: v1 appVersion: 1.25.2 - created: "2025-07-04T02:27:00.740375716Z" + created: "2025-07-08T08:22:49.9351288Z" description: Azure Blob Storage CSI driver digest: 0d3bad73ac17626f004dd37c01e10af22a25af1289a53b69c65ae9d989fccb64 name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: 1.25.2 - apiVersion: v1 appVersion: 1.25.1 - created: "2025-07-04T02:27:00.738699534Z" + created: "2025-07-08T08:22:49.934445524Z" description: Azure Blob Storage CSI driver digest: 2d546ab7f2f365ddbc10667e2385773d5a3ac1465161fb7ca4fcc1c2baf1c0b8 name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: 1.25.1 - apiVersion: v1 appVersion: 1.25.0 - created: "2025-07-04T02:27:00.737997618Z" + created: "2025-07-08T08:22:49.933779798Z" description: Azure Blob Storage CSI driver digest: fc06efe839820c80a80feafb6bbd1145361267dfadeed373b3be71cb2da1caf6 name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: 1.25.0 - apiVersion: v1 appVersion: v1.24.3 - created: "2025-07-04T02:27:00.737269387Z" + created: "2025-07-08T08:22:49.933084188Z" description: Azure Blob Storage CSI driver digest: d8fac26124eaa218c4e3aeb187b8204c5266b4e4a3fca0df39e76376e846c8d8 name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.24.3 - apiVersion: v1 appVersion: v1.24.2 - created: "2025-07-04T02:27:00.736634494Z" + created: "2025-07-08T08:22:49.93243559Z" description: Azure Blob Storage CSI driver digest: 36567735f655d0c11a2b0247421a85577e5badd0a9413785075b29b58e2b049a name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.24.2 - apiVersion: v1 appVersion: v1.24.1 - created: "2025-07-04T02:27:00.735982284Z" + created: "2025-07-08T08:22:49.931795421Z" description: Azure Blob Storage CSI driver digest: d4d98037428523005015a3f62441a7665b8a4126d39f7f0d563c474387edef0b name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.24.1 - apiVersion: v1 appVersion: v1.24.0 - created: "2025-07-04T02:27:00.735319812Z" + created: "2025-07-08T08:22:49.931140282Z" description: Azure Blob Storage CSI driver digest: 183f724b7d67bf336de373b0e5ac22a50af63e42ff0e26ad73a7c11fd0ec6bfc name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.24.0 - apiVersion: v1 appVersion: v1.23.7 - created: "2025-07-04T02:27:00.734647195Z" + created: "2025-07-08T08:22:49.930057766Z" description: Azure Blob Storage CSI driver digest: 95f9e01cec77cda71ba7f556cf00ba377270df264aa11caf3d99062d959c8e66 name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.23.7 - apiVersion: v1 appVersion: v1.23.4 - created: "2025-07-04T02:27:00.733993511Z" + created: "2025-07-08T08:22:49.928880871Z" description: Azure Blob Storage CSI driver digest: 3ce2ee0c9255ebbd004fcdb9f3e5eb702b2203182eb7046754c9b2244c417b02 name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.23.4 - apiVersion: v1 appVersion: v1.23.3 - created: "2025-07-04T02:27:00.733328836Z" + created: "2025-07-08T08:22:49.928249043Z" description: Azure Blob Storage CSI driver digest: 55b2f47774558d16dec5c93655e5625634e35424466c10244fabd471c9b2a5c6 name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2025-07-04T02:27:00.732471123Z" + created: "2025-07-08T08:22:49.927610197Z" description: Azure Blob Storage CSI driver digest: d85ba0c55d74c22b2b4cb964d70d8e38ede06f521cc5ca5502f57ed4b52d49f4 name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2025-07-04T02:27:00.730783487Z" + created: "2025-07-08T08:22:49.926959259Z" description: Azure Blob Storage CSI driver digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07 name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2025-07-04T02:27:00.730112999Z" + created: "2025-07-08T08:22:49.926333987Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.8 - created: "2025-07-04T02:27:00.729459343Z" + created: "2025-07-08T08:22:49.925703148Z" description: Azure Blob Storage CSI driver digest: a2ab602708e9c3b08d01baa66ffc7937b67119c060b4b90a41bedf15b709313c name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.22.8 - apiVersion: v1 appVersion: v1.22.6 - created: "2025-07-04T02:27:00.728779154Z" + created: "2025-07-08T08:22:49.924997144Z" description: Azure Blob Storage CSI driver digest: ef7b5c287fca46351903cb819b3ccc8b8b2021addda87c59bea94d9ed61015a0 name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.22.6 - apiVersion: v1 appVersion: v1.22.5 - created: "2025-07-04T02:27:00.72812254Z" + created: "2025-07-08T08:22:49.924363182Z" description: Azure Blob Storage CSI driver digest: ff3c2c2e05dd048dd0af3e5c7d002eae2928a5d17fb269a1e4d5cadd30e8ab51 name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2025-07-04T02:27:00.727481188Z" + created: "2025-07-08T08:22:49.92371699Z" description: Azure Blob Storage CSI driver digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2025-07-04T02:27:00.726831864Z" + created: "2025-07-08T08:22:49.923008285Z" description: Azure Blob Storage CSI driver digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1 name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2025-07-04T02:27:00.726156382Z" + created: "2025-07-08T08:22:49.921200672Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2025-07-04T02:27:00.725497359Z" + created: "2025-07-08T08:22:49.920554663Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.7 - created: "2025-07-04T02:27:00.724811211Z" + created: "2025-07-08T08:22:49.919936526Z" description: Azure Blob Storage CSI driver digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.21.7 - apiVersion: v1 appVersion: v1.21.6 - created: "2025-07-04T02:27:00.723786638Z" + created: "2025-07-08T08:22:49.919329116Z" description: Azure Blob Storage CSI driver digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54 name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.21.6 - apiVersion: v1 appVersion: v1.21.5 - created: "2025-07-04T02:27:00.722657889Z" + created: "2025-07-08T08:22:49.918732061Z" description: Azure Blob Storage CSI driver digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver @@ -273,7 +282,7 @@ entries: version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2025-07-04T02:27:00.722034028Z" + created: "2025-07-08T08:22:49.918145574Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -282,7 +291,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2025-07-04T02:27:00.721424934Z" + created: "2025-07-08T08:22:49.917555965Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -291,7 +300,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.6 - created: "2025-07-04T02:27:00.720725833Z" + created: "2025-07-08T08:22:49.916940333Z" description: Azure Blob Storage CSI driver digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21 name: blob-csi-driver @@ -300,7 +309,7 @@ entries: version: v1.19.6 - apiVersion: v1 appVersion: v1.19.5 - created: "2025-07-04T02:27:00.72011233Z" + created: "2025-07-08T08:22:49.916324209Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -309,7 +318,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2025-07-04T02:27:00.71951371Z" + created: "2025-07-08T08:22:49.915708568Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -318,7 +327,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2025-07-04T02:27:00.718913945Z" + created: "2025-07-08T08:22:49.915060259Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -327,7 +336,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2025-07-04T02:27:00.718289965Z" + created: "2025-07-08T08:22:49.913459622Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -336,7 +345,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2025-07-04T02:27:00.717566823Z" + created: "2025-07-08T08:22:49.912710133Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -345,7 +354,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2025-07-04T02:27:00.716736248Z" + created: "2025-07-08T08:22:49.912005496Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -354,7 +363,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2025-07-04T02:27:00.715057317Z" + created: "2025-07-08T08:22:49.911250293Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -363,7 +372,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2025-07-04T02:27:00.714420869Z" + created: "2025-07-08T08:22:49.910561697Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -372,7 +381,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2025-07-04T02:27:00.713793189Z" + created: "2025-07-08T08:22:49.90991966Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -381,7 +390,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2025-07-04T02:27:00.71309069Z" + created: "2025-07-08T08:22:49.90925735Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -390,11 +399,11 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: latest - created: "2025-07-04T02:27:00.712419347Z" + created: "2025-07-08T08:22:49.908636669Z" description: Azure Blob Storage CSI driver digest: 5108fa0ce6382e1527d72fcf46c839920e6349c373fde30c24e083e728dca784 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/release-1.25/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2025-07-04T02:27:00.710702669Z" +generated: "2025-07-08T08:22:49.907079886Z" diff --git a/charts/latest/blob-csi-driver-1.25.8.tgz b/charts/latest/blob-csi-driver-1.25.8.tgz deleted file mode 100644 index 4033d035daf357bce9a5a9e4458b59e74210b2d3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6344 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 Kx|5CoumAv>g@ug( diff --git a/charts/latest/blob-csi-driver-1.25.9.tgz b/charts/latest/blob-csi-driver-1.25.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..d0b23ba260e364534e70e7a2446afbd23dc0333b GIT binary patch literal 6345 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 L%!6Z<0I&c6Bur=5 literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index a77cd37d3..9e246d88a 100644 --- a/charts/latest/blob-csi-driver/Chart.yaml +++ b/charts/latest/blob-csi-driver/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: 1.25.8 +appVersion: 1.25.9 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: 1.25.8 +version: 1.25.9 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index ceab1bfcf..db6b77008 100644 --- a/charts/latest/blob-csi-driver/values.yaml +++ b/charts/latest/blob-csi-driver/values.yaml @@ -2,7 +2,7 @@ image: baseRepo: mcr.microsoft.com blob: repository: /oss/kubernetes-csi/blob-csi - tag: v1.25.8 + tag: v1.25.9 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.25.9/blob-csi-driver-1.25.9.tgz b/charts/v1.25.9/blob-csi-driver-1.25.9.tgz new file mode 100644 index 0000000000000000000000000000000000000000..28d6fe198ee0ce7361439d7bd23ed556ee0c790f GIT binary patch literal 6343 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 literal 0 HcmV?d00001 diff --git a/charts/v1.25.9/blob-csi-driver/Chart.yaml b/charts/v1.25.9/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..9e246d88a --- /dev/null +++ b/charts/v1.25.9/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: 1.25.9 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: 1.25.9 diff --git a/charts/v1.25.9/blob-csi-driver/templates/NOTES.txt b/charts/v1.25.9/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..c75dafbb5 --- /dev/null +++ b/charts/v1.25.9/blob-csi-driver/templates/NOTES.txt @@ -0,0 +1,5 @@ +The Azure Blob Storage CSI driver is getting deployed to your cluster. + +To check Azure Blob Storage CSI driver pods status, please run: + + kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch diff --git a/charts/v1.25.9/blob-csi-driver/templates/_helpers.tpl b/charts/v1.25.9/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.25.9/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.25.9/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.25.9/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..9b443e7ee --- /dev/null +++ b/charts/v1.25.9/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,259 @@ +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: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + hostNetwork: {{ .Values.controller.hostNetwork }} + serviceAccountName: {{ .Values.serviceAccount.controller }} + nodeSelector: + kubernetes.io/os: linux + # runOnControlPlane=true or runOnMaster=true only takes effect if affinity is not set + {{- if tpl "{{ .Values.controller.affinity }}" . | contains "nodeSelectorTerms" }} + {{- with .Values.controller.affinity }} + affinity: +{{ toYaml . | indent 8 }} + {{- end }} + {{- else if or .Values.controller.runOnControlPlane .Values.controller.runOnMaster}} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + {{- if .Values.controller.runOnControlPlane}} + - key: node-role.kubernetes.io/control-plane + operator: Exists + {{- end}} + {{- if .Values.controller.runOnMaster}} + - key: node-role.kubernetes.io/master + operator: Exists + {{- end}} + {{- 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" + - "--retry-interval-max=30m" + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: liveness-probe +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s +{{- if eq .Values.controller.hostNetwork true }} + - --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }} +{{- else }} + - --health-port={{ .Values.controller.livenessProbe.healthPort }} +{{- end }} + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.controller.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}" + - "--drivername={{ .Values.driver.name }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--cloud-config-secret-name={{ .Values.controller.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.controller.cloudConfigSecretNamespace }}" + - "--allow-empty-cloud-config={{ .Values.controller.allowEmptyCloudConfig }}" + ports: + - containerPort: {{ .Values.controller.metricsPort }} + name: metrics + protocol: TCP +{{- if ne .Values.controller.hostNetwork true }} + - containerPort: {{ .Values.controller.livenessProbe.healthPort }} + name: healthz + protocol: TCP +{{- end }} + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz +{{- if eq .Values.controller.hostNetwork true }} + host: localhost + port: {{ .Values.controller.livenessProbe.healthPort }} +{{- else }} + port: healthz +{{- end }} + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + - name: AZCOPY_CONCURRENCY_VALUE + value: "10" + - name: AZCOPY_CONCURRENT_FILES + value: "20" + - name: AZCOPY_BUFFER_GB + value: "1" + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /root/.azcopy + name: azcopy-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + resources: {{- toYaml .Values.controller.resources.blob | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer +{{- if hasPrefix "/" .Values.image.csiResizer.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- else }} + image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- end }} + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azcopy-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - 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.25.9/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.25.9/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9c5de5b91 --- /dev/null +++ b/charts/v1.25.9/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.25.9/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.25.9/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..2cb7d47d0 --- /dev/null +++ b/charts/v1.25.9/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,337 @@ +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: {{ .Values.node.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: {{ .Values.node.maxUnavailable }} + type: RollingUpdate + selector: + matchLabels: + app: {{ .Values.node.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + {{- if or .Values.node.enableBlobfuseProxy .Values.node.enableAznfsMount }} + hostPID: true + {{- end }} + hostNetwork: true + dnsPolicy: Default + serviceAccountName: {{ .Values.serviceAccount.node }} + nodeSelector: + kubernetes.io/os: linux +{{- with .Values.node.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + {{- if .Values.node.affinity }} +{{- toYaml .Values.node.affinity | nindent 8 }} + {{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.node.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} + initContainers: + - name: install-blobfuse-proxy +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE + value: "{{ .Values.node.blobfuseProxy.installBlobfuse }}" + - name: BLOBFUSE_VERSION + value: "{{ .Values.node.blobfuseProxy.blobfuseVersion }}" + - name: INSTALL_BLOBFUSE2 + value: "{{ .Values.node.blobfuseProxy.installBlobfuse2 }}" + - name: BLOBFUSE2_VERSION + value: "{{ .Values.node.blobfuseProxy.blobfuse2Version }}" + - name: INSTALL_BLOBFUSE_PROXY + value: "{{ .Values.node.enableBlobfuseProxy }}" + - name: SET_MAX_OPEN_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.setMaxOpenFileNum }}" + - name: MAX_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.maxOpenFileNum }}" + - name: DISABLE_UPDATEDB + value: "{{ .Values.node.blobfuseProxy.disableUpdateDB }}" + - name: KUBELET_PATH + value: "{{ .Values.linux.kubelet }}" + - name: MIGRATE_K8S_REPO + value: "{{ .Values.node.blobfuseProxy.migrateK8sRepo }}" + - name: SET_READ_AHEAD_SIZE + value: "{{ .Values.node.blobfuseProxy.setReadAheadSize }}" + 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=10s + - --http-endpoint=localhost:{{ .Values.node.livenessProbe.healthPort }} + - --v=2 + resources: {{- toYaml .Values.node.resources.livenessProbe | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar +{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- else }} + image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- end }} + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: {{- toYaml .Values.node.resources.nodeDriverRegistrar | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.node.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--enable-blobfuse-proxy={{ .Values.node.enableBlobfuseProxy }}" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--drivername={{ .Values.driver.name }}" + - "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}" + - "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}" + - "--append-timestamp-cache-dir={{ .Values.node.appendTimeStampInCacheDir }}" + - "--mount-permissions={{ .Values.node.mountPermissions }}" + - "--allow-inline-volume-key-access-with-idenitity={{ .Values.node.allowInlineVolumeKeyAccessWithIdentity }}" + - "--enable-aznfs-mount={{ .Values.node.enableAznfsMount }}" + - "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}" + ports: + - containerPort: {{ .Values.node.metricsPort }} + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: {{ .Values.node.livenessProbe.healthPort }} + initialDelaySeconds: 30 + timeoutSeconds: 30 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + {{- if .Values.node.enableAznfsMount }} + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + {{- end }} + resources: {{- toYaml .Values.node.resources.blob | nindent 12 }} +{{- if .Values.node.enableAznfsMount }} + - name: aznfswatchdog +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + command: + - "aznfswatchdog" + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: {{- toYaml .Values.node.resources.aznfswatchdog | nindent 12 }} + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir +{{- end }} + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-usr-local + hostPath: + path: /usr/local + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }} + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: {{ .Values.node.blobfuseCachePath }} + name: blob-cache + {{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - 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.25.9/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.25.9/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..8c85e4eef --- /dev/null +++ b/charts/v1.25.9/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", "patch", "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.25.9/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.25.9/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.25.9/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.25.9/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.25.9/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.25.9/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.25.9/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.25.9/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.25.9/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.25.9/blob-csi-driver/values.yaml b/charts/v1.25.9/blob-csi-driver/values.yaml new file mode 100644 index 000000000..db6b77008 --- /dev/null +++ b/charts/v1.25.9/blob-csi-driver/values.yaml @@ -0,0 +1,186 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.25.9 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v5.2.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/v2/kubernetes-csi/livenessprobe + tag: v2.15.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/v2/kubernetes-csi/csi-node-driver-registrar + tag: v2.13.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/v2/kubernetes-csi/csi-resizer + tag: v1.13.2 + 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: 800Mi + 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" + - key: "CriticalAddonsOnly" + operator: "Exists" + effect: "NoSchedule" + +node: + name: csi-blob-node + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + allowInlineVolumeKeyAccessWithIdentity: false + maxUnavailable: 1 + metricsPort: 29635 + livenessProbe: + healthPort: 29633 + logLevel: 5 + enableBlobfuseProxy: true + blobfuseProxy: + installBlobfuse: false + blobfuseVersion: "1.4.5" + installBlobfuse2: true + blobfuse2Version: "2.4.1" + setMaxOpenFileNum: true + maxOpenFileNum: "9000000" + disableUpdateDB: true + migrateK8sRepo: false + setReadAheadSize: true + blobfuseCachePath: /mnt + appendTimeStampInCacheDir: false + mountPermissions: 0777 + resources: + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + nodeDriverRegistrar: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + aznfswatchdog: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - operator: "Exists" + enableAznfsMount: true + +feature: + fsGroupPolicy: ReadWriteOnceWithFSType + enableGetVolumeStats: false + +driver: + name: blob.csi.azure.com + customUserAgent: "" + userAgentSuffix: "OSS-helm" + azureGoSDKLogLevel: "" # available values: ""(no logs), DEBUG, INFO, WARNING, ERROR + httpsProxy: "" + httpProxy: "" + +linux: + kubelet: /var/lib/kubelet + distro: debian + +workloadIdentity: + clientID: "" + # [optional] If the AAD application or user-assigned managed identity is not in the same tenant as the cluster + # then set tenantID with the application or user-assigned managed identity tenant ID + tenantID: "" diff --git a/deploy/csi-blob-controller.yaml b/deploy/csi-blob-controller.yaml index 0d2899373..d35a856d6 100644 --- a/deploy/csi-blob-controller.yaml +++ b/deploy/csi-blob-controller.yaml @@ -85,7 +85,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.8 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index 3a1c80e7f..cd99a19d7 100644 --- a/deploy/csi-blob-node.yaml +++ b/deploy/csi-blob-node.yaml @@ -40,7 +40,7 @@ spec: - operator: "Exists" initContainers: - name: install-blobfuse-proxy - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.8 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 imagePullPolicy: IfNotPresent command: - "/blobfuse-proxy/init.sh" @@ -123,7 +123,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.8 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 imagePullPolicy: IfNotPresent args: - "--v=5" @@ -190,7 +190,7 @@ spec: cpu: 10m memory: 20Mi - name: aznfswatchdog - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.8 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 command: - "aznfswatchdog" imagePullPolicy: IfNotPresent diff --git a/deploy/v1.25.9/csi-blob-controller.yaml b/deploy/v1.25.9/csi-blob-controller.yaml new file mode 100644 index 000000000..d35a856d6 --- /dev/null +++ b/deploy/v1.25.9/csi-blob-controller.yaml @@ -0,0 +1,172 @@ +--- +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" + - key: "CriticalAddonsOnly" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v5.2.0 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=1200s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + - "--feature-gates=HonorPVReclaimPolicy=true" + - "--retry-interval-max=30m" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: liveness-probe + image: mcr.microsoft.com/oss/v2/kubernetes-csi/livenessprobe:v2.15.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --http-endpoint=localhost:29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29632 + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: AZCOPY_CONCURRENCY_VALUE + value: "10" + - name: AZCOPY_CONCURRENT_FILES + value: "20" + - name: AZCOPY_BUFFER_GB + value: "1" + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /root/.azcopy + name: azcopy-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 800Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer + image: mcr.microsoft.com/oss/v2/kubernetes-csi/csi-resizer:v1.13.2 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azcopy-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.25.9/csi-blob-driver.yaml b/deploy/v1.25.9/csi-blob-driver.yaml new file mode 100644 index 000000000..d13ff5f91 --- /dev/null +++ b/deploy/v1.25.9/csi-blob-driver.yaml @@ -0,0 +1,14 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: blob.csi.azure.com +spec: + attachRequired: false + podInfoOnMount: true + fsGroupPolicy: ReadWriteOnceWithFSType + volumeLifecycleModes: + - Persistent + - Ephemeral + tokenRequests: + - audience: api://AzureADTokenExchange diff --git a/deploy/v1.25.9/csi-blob-node.yaml b/deploy/v1.25.9/csi-blob-node.yaml new file mode 100644 index 000000000..cd99a19d7 --- /dev/null +++ b/deploy/v1.25.9/csi-blob-node.yaml @@ -0,0 +1,252 @@ +--- +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.25.9 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "false" + - name: BLOBFUSE_VERSION + value: "1.4.5" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "2.4.1" + - 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/v2/kubernetes-csi/livenessprobe:v2.15.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=10s + - --http-endpoint=localhost:29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar + image: mcr.microsoft.com/oss/v2/kubernetes-csi/csi-node-driver-registrar:v2.13.0 + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: /var/lib/kubelet/plugins/blob.csi.azure.com/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--enable-blobfuse-proxy=true" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--user-agent-suffix=OSS-kubectl" + - "--metrics-address=0.0.0.0:29635" + - "--enable-aznfs-mount=true" + ports: + - containerPort: 29635 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29633 + initialDelaySeconds: 30 + timeoutSeconds: 30 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + capabilities: + drop: + - ALL + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + - name: aznfswatchdog + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.9 + command: + - "aznfswatchdog" + imagePullPolicy: IfNotPresent + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-usr-local + hostPath: + path: /usr/local + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: /var/lib/kubelet/plugins/blob.csi.azure.com + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: /mnt + type: DirectoryOrCreate + name: blob-cache + - hostPath: + path: /opt/microsoft/aznfs/data + type: DirectoryOrCreate + name: aznfs-data + - name: lib-modules + hostPath: + path: /lib/modules + type: DirectoryOrCreate +--- diff --git a/deploy/v1.25.9/kustomization.yaml b/deploy/v1.25.9/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.25.9/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.25.9/rbac-csi-blob-controller.yaml b/deploy/v1.25.9/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..bba964e5b --- /dev/null +++ b/deploy/v1.25.9/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", "patch", "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.25.9/rbac-csi-blob-node.yaml b/deploy/v1.25.9/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.25.9/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 30521304e..706b4652c 100644 --- a/docs/install-blob-csi-driver.md +++ b/docs/install-blob-csi-driver.md @@ -4,7 +4,7 @@ > - 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.25.8 CSI driver](./install-csi-driver-v1.25.8.md) + - [install v1.25.9 CSI driver](./install-csi-driver-v1.25.9.md) - [install v1.24.3 CSI driver](./install-csi-driver-v1.24.3.md) - [install v1.23.7 CSI driver](./install-csi-driver-v1.23.7.md) - [install v1.22.8 CSI driver](./install-csi-driver-v1.22.8.md) diff --git a/docs/install-csi-driver-v1.25.9.md b/docs/install-csi-driver-v1.25.9.md new file mode 100644 index 000000000..71ea2aec8 --- /dev/null +++ b/docs/install-csi-driver-v1.25.9.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.25.9 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.25.9/deploy/install-driver.sh | bash -s v1.25.9 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.25.9 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.25.9/deploy/uninstall-driver.sh | bash -s v1.25.9 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.25.9 +./deploy/uninstall-driver.sh v1.25.9 local +```