From b044043867106d5584d9170f9b93a52b6ffa4bba Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Wed, 7 May 2025 08:50:03 +0000 Subject: [PATCH] doc: cut v1.25.6 release --- Makefile | 2 +- README.md | 2 +- charts/README.md | 2 +- charts/index.yaml | 103 +++--- charts/latest/blob-csi-driver-1.25.5.tgz | Bin 6335 -> 0 bytes charts/latest/blob-csi-driver-1.25.6.tgz | Bin 0 -> 6335 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.25.6/blob-csi-driver-1.25.6.tgz | Bin 0 -> 6335 bytes charts/v1.25.6/blob-csi-driver/Chart.yaml | 5 + .../blob-csi-driver/templates/NOTES.txt | 5 + .../blob-csi-driver/templates/_helpers.tpl | 49 +++ .../templates/csi-blob-controller.yaml | 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.6/blob-csi-driver/values.yaml | 186 ++++++++++ deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 6 +- deploy/v1.25.6/csi-blob-controller.yaml | 172 +++++++++ deploy/v1.25.6/csi-blob-driver.yaml | 14 + deploy/v1.25.6/csi-blob-node.yaml | 252 +++++++++++++ deploy/v1.25.6/kustomization.yaml | 10 + deploy/v1.25.6/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.25.6/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.25.6.md | 47 +++ 30 files changed, 1735 insertions(+), 58 deletions(-) delete mode 100644 charts/latest/blob-csi-driver-1.25.5.tgz create mode 100644 charts/latest/blob-csi-driver-1.25.6.tgz create mode 100644 charts/v1.25.6/blob-csi-driver-1.25.6.tgz create mode 100644 charts/v1.25.6/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.25.6/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.25.6/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.25.6/blob-csi-driver/values.yaml create mode 100644 deploy/v1.25.6/csi-blob-controller.yaml create mode 100644 deploy/v1.25.6/csi-blob-driver.yaml create mode 100644 deploy/v1.25.6/csi-blob-node.yaml create mode 100644 deploy/v1.25.6/kustomization.yaml create mode 100644 deploy/v1.25.6/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.25.6/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.25.6.md diff --git a/Makefile b/Makefile index d3a3442d1..6dbb6e9fe 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.5 +IMAGE_VERSION ?= v1.25.6 CLOUD ?= AzurePublicCloud # Use a custom version for E2E tests if we are in Prow ifdef CI diff --git a/README.md b/README.md index 66ba2e882..d7e72630b 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.5 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.5 | 1.21+ | +|v1.25.6 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 | 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 bad5a88f6..63a21a365 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.5 +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --set node.enableBlobfuseProxy=true --namespace kube-system --version v1.25.6 ``` ## install on Azure Stack diff --git a/charts/index.yaml b/charts/index.yaml index 13916e0b6..0b8c27f76 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,26 +2,35 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: 1.25.5 - created: "2025-03-28T09:17:57.418830444Z" + appVersion: 1.25.6 + created: "2025-05-07T08:49:10.244054862Z" description: Azure Blob Storage CSI driver - digest: 0e1ce3cbad9d8d7c3bb3148c29adbc322ce384b0dee80638c9c5e7b3bae8a79b + digest: a72dce2f8950042da36039232efa8fe0fb87cdf7cc9c6523104fe25558f2135e name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.25.5/blob-csi-driver-1.25.5.tgz - version: 1.25.5 + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.25.6/blob-csi-driver-1.25.6.tgz + version: 1.25.6 + - apiVersion: v1 + appVersion: 1.25.6 + created: "2025-05-07T08:49:10.204908593Z" + description: Azure Blob Storage CSI driver + digest: a72dce2f8950042da36039232efa8fe0fb87cdf7cc9c6523104fe25558f2135e + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-1.25.6.tgz + version: 1.25.6 - apiVersion: v1 appVersion: 1.25.5 - created: "2025-03-28T09:17:57.387804897Z" + created: "2025-05-07T08:49:10.243387165Z" description: Azure Blob Storage CSI driver digest: 0e1ce3cbad9d8d7c3bb3148c29adbc322ce384b0dee80638c9c5e7b3bae8a79b name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-1.25.5.tgz + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.25.5/blob-csi-driver-1.25.5.tgz version: 1.25.5 - apiVersion: v1 appVersion: 1.25.4 - created: "2025-03-28T09:17:57.417590064Z" + created: "2025-05-07T08:49:10.242709165Z" description: Azure Blob Storage CSI driver digest: 391be65e1cf2c14a5c5fe32f5938e68d52fd15ce80f4d2365b7685593475c0cc name: blob-csi-driver @@ -30,7 +39,7 @@ entries: version: 1.25.4 - apiVersion: v1 appVersion: 1.25.3 - created: "2025-03-28T09:17:57.416943866Z" + created: "2025-05-07T08:49:10.241955954Z" description: Azure Blob Storage CSI driver digest: c6de64c1a085ae4cd233e3fca0d5099b61e1c5147132cdc9f46af3546a31ba9a name: blob-csi-driver @@ -39,7 +48,7 @@ entries: version: 1.25.3 - apiVersion: v1 appVersion: 1.25.2 - created: "2025-03-28T09:17:57.416274746Z" + created: "2025-05-07T08:49:10.240868757Z" description: Azure Blob Storage CSI driver digest: 0d3bad73ac17626f004dd37c01e10af22a25af1289a53b69c65ae9d989fccb64 name: blob-csi-driver @@ -48,7 +57,7 @@ entries: version: 1.25.2 - apiVersion: v1 appVersion: 1.25.1 - created: "2025-03-28T09:17:57.415626973Z" + created: "2025-05-07T08:49:10.239723721Z" description: Azure Blob Storage CSI driver digest: 2d546ab7f2f365ddbc10667e2385773d5a3ac1465161fb7ca4fcc1c2baf1c0b8 name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: 1.25.1 - apiVersion: v1 appVersion: 1.25.0 - created: "2025-03-28T09:17:57.414939045Z" + created: "2025-05-07T08:49:10.238884292Z" description: Azure Blob Storage CSI driver digest: fc06efe839820c80a80feafb6bbd1145361267dfadeed373b3be71cb2da1caf6 name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: 1.25.0 - apiVersion: v1 appVersion: v1.24.3 - created: "2025-03-28T09:17:57.414257407Z" + created: "2025-05-07T08:49:10.238221547Z" description: Azure Blob Storage CSI driver digest: d8fac26124eaa218c4e3aeb187b8204c5266b4e4a3fca0df39e76376e846c8d8 name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: v1.24.3 - apiVersion: v1 appVersion: v1.24.2 - created: "2025-03-28T09:17:57.413620587Z" + created: "2025-05-07T08:49:10.237438426Z" description: Azure Blob Storage CSI driver digest: 36567735f655d0c11a2b0247421a85577e5badd0a9413785075b29b58e2b049a name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: v1.24.2 - apiVersion: v1 appVersion: v1.24.1 - created: "2025-03-28T09:17:57.412928657Z" + created: "2025-05-07T08:49:10.23666758Z" description: Azure Blob Storage CSI driver digest: d4d98037428523005015a3f62441a7665b8a4126d39f7f0d563c474387edef0b name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: v1.24.1 - apiVersion: v1 appVersion: v1.24.0 - created: "2025-03-28T09:17:57.411494956Z" + created: "2025-05-07T08:49:10.235986091Z" description: Azure Blob Storage CSI driver digest: 183f724b7d67bf336de373b0e5ac22a50af63e42ff0e26ad73a7c11fd0ec6bfc name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.24.0 - apiVersion: v1 appVersion: v1.23.7 - created: "2025-03-28T09:17:57.410570464Z" + created: "2025-05-07T08:49:10.235133331Z" description: Azure Blob Storage CSI driver digest: 95f9e01cec77cda71ba7f556cf00ba377270df264aa11caf3d99062d959c8e66 name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.23.7 - apiVersion: v1 appVersion: v1.23.4 - created: "2025-03-28T09:17:57.409942851Z" + created: "2025-05-07T08:49:10.234338285Z" description: Azure Blob Storage CSI driver digest: 3ce2ee0c9255ebbd004fcdb9f3e5eb702b2203182eb7046754c9b2244c417b02 name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.23.4 - apiVersion: v1 appVersion: v1.23.3 - created: "2025-03-28T09:17:57.409306147Z" + created: "2025-05-07T08:49:10.233458517Z" description: Azure Blob Storage CSI driver digest: 55b2f47774558d16dec5c93655e5625634e35424466c10244fabd471c9b2a5c6 name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.23.3 - apiVersion: v1 appVersion: v1.23.2 - created: "2025-03-28T09:17:57.408670366Z" + created: "2025-05-07T08:49:10.231672379Z" description: Azure Blob Storage CSI driver digest: d85ba0c55d74c22b2b4cb964d70d8e38ede06f521cc5ca5502f57ed4b52d49f4 name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.23.2 - apiVersion: v1 appVersion: v1.23.1 - created: "2025-03-28T09:17:57.408037338Z" + created: "2025-05-07T08:49:10.230865684Z" description: Azure Blob Storage CSI driver digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07 name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.23.1 - apiVersion: v1 appVersion: v1.23.0 - created: "2025-03-28T09:17:57.407415193Z" + created: "2025-05-07T08:49:10.23003748Z" description: Azure Blob Storage CSI driver digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72 name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.23.0 - apiVersion: v1 appVersion: v1.22.8 - created: "2025-03-28T09:17:57.406768195Z" + created: "2025-05-07T08:49:10.22921855Z" description: Azure Blob Storage CSI driver digest: a2ab602708e9c3b08d01baa66ffc7937b67119c060b4b90a41bedf15b709313c name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.22.8 - apiVersion: v1 appVersion: v1.22.6 - created: "2025-03-28T09:17:57.406009651Z" + created: "2025-05-07T08:49:10.228382056Z" description: Azure Blob Storage CSI driver digest: ef7b5c287fca46351903cb819b3ccc8b8b2021addda87c59bea94d9ed61015a0 name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.22.6 - apiVersion: v1 appVersion: v1.22.5 - created: "2025-03-28T09:17:57.404831996Z" + created: "2025-05-07T08:49:10.227242112Z" description: Azure Blob Storage CSI driver digest: ff3c2c2e05dd048dd0af3e5c7d002eae2928a5d17fb269a1e4d5cadd30e8ab51 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2025-03-28T09:17:57.40390658Z" + created: "2025-05-07T08:49:10.226357786Z" description: Azure Blob Storage CSI driver digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2025-03-28T09:17:57.403231285Z" + created: "2025-05-07T08:49:10.225501199Z" description: Azure Blob Storage CSI driver digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1 name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2025-03-28T09:17:57.402575723Z" + created: "2025-05-07T08:49:10.224625444Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2025-03-28T09:17:57.401894424Z" + created: "2025-05-07T08:49:10.22361201Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.21.7 - created: "2025-03-28T09:17:57.401295264Z" + created: "2025-05-07T08:49:10.221448155Z" description: Azure Blob Storage CSI driver digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3 name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.21.7 - apiVersion: v1 appVersion: v1.21.6 - created: "2025-03-28T09:17:57.400701457Z" + created: "2025-05-07T08:49:10.220608459Z" description: Azure Blob Storage CSI driver digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54 name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.21.6 - apiVersion: v1 appVersion: v1.21.5 - created: "2025-03-28T09:17:57.400047278Z" + created: "2025-05-07T08:49:10.219732763Z" description: Azure Blob Storage CSI driver digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.21.5 - apiVersion: v1 appVersion: v1.21.4 - created: "2025-03-28T09:17:57.399431715Z" + created: "2025-05-07T08:49:10.218839199Z" description: Azure Blob Storage CSI driver digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.21.4 - apiVersion: v1 appVersion: v1.20.3 - created: "2025-03-28T09:17:57.398778903Z" + created: "2025-05-07T08:49:10.218061382Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.6 - created: "2025-03-28T09:17:57.398005504Z" + created: "2025-05-07T08:49:10.217233035Z" description: Azure Blob Storage CSI driver digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21 name: blob-csi-driver @@ -273,7 +282,7 @@ entries: version: v1.19.6 - apiVersion: v1 appVersion: v1.19.5 - created: "2025-03-28T09:17:57.396181625Z" + created: "2025-05-07T08:49:10.216399736Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -282,7 +291,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2025-03-28T09:17:57.395300205Z" + created: "2025-05-07T08:49:10.215568479Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -291,7 +300,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2025-03-28T09:17:57.394426075Z" + created: "2025-05-07T08:49:10.214675879Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -300,7 +309,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2025-03-28T09:17:57.393570386Z" + created: "2025-05-07T08:49:10.213701205Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -309,7 +318,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2025-03-28T09:17:57.392715876Z" + created: "2025-05-07T08:49:10.211896375Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -318,7 +327,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2025-03-28T09:17:57.391835224Z" + created: "2025-05-07T08:49:10.210902067Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -327,7 +336,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2025-03-28T09:17:57.391088743Z" + created: "2025-05-07T08:49:10.210072922Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -336,7 +345,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2025-03-28T09:17:57.390412698Z" + created: "2025-05-07T08:49:10.208691113Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -345,7 +354,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2025-03-28T09:17:57.389783856Z" + created: "2025-05-07T08:49:10.207874156Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -354,7 +363,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2025-03-28T09:17:57.389138121Z" + created: "2025-05-07T08:49:10.206970039Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -363,11 +372,11 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: latest - created: "2025-03-28T09:17:57.388499382Z" + created: "2025-05-07T08:49:10.205610773Z" description: Azure Blob Storage CSI driver digest: 5108fa0ce6382e1527d72fcf46c839920e6349c373fde30c24e083e728dca784 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: "2025-03-28T09:17:57.386901529Z" +generated: "2025-05-07T08:49:10.204048582Z" diff --git a/charts/latest/blob-csi-driver-1.25.5.tgz b/charts/latest/blob-csi-driver-1.25.5.tgz deleted file mode 100644 index 74677c87eadeff7ce908d7aebc5f68b572b6c5de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6335 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 BY0>}y literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index 37048c28e..4b265424e 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.5 +appVersion: 1.25.6 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: 1.25.5 +version: 1.25.6 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 92d6120a7..8289c6dc8 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.5 + tag: v1.25.6 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.25.6/blob-csi-driver-1.25.6.tgz b/charts/v1.25.6/blob-csi-driver-1.25.6.tgz new file mode 100644 index 0000000000000000000000000000000000000000..330109a4778bffbbde2d6888249b05f4bcfd7d8e GIT binary patch literal 6335 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 BY0>}y literal 0 HcmV?d00001 diff --git a/charts/v1.25.6/blob-csi-driver/Chart.yaml b/charts/v1.25.6/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..4b265424e --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: 1.25.6 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: 1.25.6 diff --git a/charts/v1.25.6/blob-csi-driver/templates/NOTES.txt b/charts/v1.25.6/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..c75dafbb5 --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/NOTES.txt @@ -0,0 +1,5 @@ +The Azure Blob Storage CSI driver is getting deployed to your cluster. + +To check Azure Blob Storage CSI driver pods status, please run: + + kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch diff --git a/charts/v1.25.6/blob-csi-driver/templates/_helpers.tpl b/charts/v1.25.6/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/_helpers.tpl @@ -0,0 +1,49 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* Expand the name of the chart.*/}} +{{- define "blob.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "blob.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common selectors. +*/}} +{{- define "blob.selectorLabels" -}} +app.kubernetes.io/name: {{ template "blob.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Common labels. +*/}} +{{- define "blob.labels" -}} +{{- include "blob.selectorLabels" . }} +app.kubernetes.io/component: csi-driver +app.kubernetes.io/part-of: {{ template "blob.name" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +helm.sh/chart: {{ template "blob.chart" . }} +{{- if .Values.customLabels }} +{{ toYaml .Values.customLabels }} +{{- end }} +{{- end -}} + + +{{/* pull secrets for containers */}} +{{- define "blob.pullSecrets" -}} +{{- if .Values.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- end }} +{{- end -}} \ No newline at end of file diff --git a/charts/v1.25.6/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.25.6/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..9b443e7ee --- /dev/null +++ b/charts/v1.25.6/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.6/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.25.6/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9c5de5b91 --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/csi-blob-driver.yaml @@ -0,0 +1,16 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: {{ .Values.driver.name }} + labels: + {{- include "blob.labels" . | nindent 4 }} +spec: + attachRequired: false + podInfoOnMount: true + fsGroupPolicy: {{ .Values.feature.fsGroupPolicy }} + volumeLifecycleModes: + - Persistent + - Ephemeral + tokenRequests: + - audience: api://AzureADTokenExchange diff --git a/charts/v1.25.6/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.25.6/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..2cb7d47d0 --- /dev/null +++ b/charts/v1.25.6/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.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.25.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..8c85e4eef --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/rbac-csi-blob-controller.yaml @@ -0,0 +1,115 @@ +{{- if .Values.rbac.create -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-provisioner-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "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.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.25.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/rbac-csi-blob-node.yaml @@ -0,0 +1,29 @@ +{{- if .Values.rbac.create -}} +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-node-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.25.6/blob-csi-driver/values.yaml b/charts/v1.25.6/blob-csi-driver/values.yaml new file mode 100644 index 000000000..8289c6dc8 --- /dev/null +++ b/charts/v1.25.6/blob-csi-driver/values.yaml @@ -0,0 +1,186 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.25.6 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v5.2.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/kubernetes-csi/livenessprobe + tag: v2.15.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/kubernetes-csi/csi-node-driver-registrar + tag: v2.13.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/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 e2732cd13..2be22586d 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.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index 37b7a99c4..97a064d46 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.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 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.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 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.5 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.6 command: - "aznfswatchdog" imagePullPolicy: IfNotPresent diff --git a/deploy/v1.25.6/csi-blob-controller.yaml b/deploy/v1.25.6/csi-blob-controller.yaml new file mode 100644 index 000000000..2be22586d --- /dev/null +++ b/deploy/v1.25.6/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/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.6 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + host: localhost + path: /healthz + port: 29632 + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - 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/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.6/csi-blob-driver.yaml b/deploy/v1.25.6/csi-blob-driver.yaml new file mode 100644 index 000000000..d13ff5f91 --- /dev/null +++ b/deploy/v1.25.6/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.6/csi-blob-node.yaml b/deploy/v1.25.6/csi-blob-node.yaml new file mode 100644 index 000000000..97a064d46 --- /dev/null +++ b/deploy/v1.25.6/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.6 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "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/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/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.6 + 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.6 + 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.6/kustomization.yaml b/deploy/v1.25.6/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.25.6/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - csi-blob-controller.yaml + - csi-blob-driver.yaml + - csi-blob-node.yaml + - rbac-csi-blob-controller.yaml + - rbac-csi-blob-node.yaml + - blobfuse-proxy.yaml diff --git a/deploy/v1.25.6/rbac-csi-blob-controller.yaml b/deploy/v1.25.6/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..bba964e5b --- /dev/null +++ b/deploy/v1.25.6/rbac-csi-blob-controller.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-controller-sa + namespace: kube-system +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-provisioner-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "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.6/rbac-csi-blob-node.yaml b/deploy/v1.25.6/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.25.6/rbac-csi-blob-node.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-node-sa + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-node-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-node-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/docs/install-blob-csi-driver.md b/docs/install-blob-csi-driver.md index 3422c1303..7fb99841b 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.5 CSI driver](./install-csi-driver-v1.25.5.md) + - [install v1.25.6 CSI driver](./install-csi-driver-v1.25.6.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.6.md b/docs/install-csi-driver-v1.25.6.md new file mode 100644 index 000000000..4e7e03fef --- /dev/null +++ b/docs/install-csi-driver-v1.25.6.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.25.6 version on a kubernetes cluster +> `blobfuse-proxy` is supported on CoreOS(OpenShift) from v1.23.2 +> +If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md). + +## Install with kubectl + - Option#1. remote install +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.25.6/deploy/install-driver.sh | bash -s v1.25.6 blobfuse-proxy -- +``` + + - Option#2. local install +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +./deploy/install-driver.sh v1.25.6 local,blobfuse-proxy +``` + +- check pods status: +```console +kubectl -n kube-system get pod -o wide -l app=csi-blob-controller +kubectl -n kube-system get pod -o wide -l app=csi-blob-node +``` + +example output: + +```console +NAME READY STATUS RESTARTS AGE IP NODE +csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 +csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0 +``` + +### clean up Blob CSI driver +- Option#1. remote uninstall +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.25.6/deploy/uninstall-driver.sh | bash -s v1.25.6 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.25.6 +./deploy/uninstall-driver.sh v1.25.6 local +```