From 4e6e5f501ad7c5e86227446b1ae54fe1832cef44 Mon Sep 17 00:00:00 2001 From: andyzhangx Date: Thu, 1 Aug 2024 09:40:55 +0000 Subject: [PATCH] doc: cut v1.22.8 release --- .trivyignore | 1 - Makefile | 2 +- README.md | 2 +- charts/index.yaml | 87 +++-- charts/latest/blob-csi-driver-v1.22.7.tgz | Bin 5907 -> 0 bytes charts/latest/blob-csi-driver-v1.22.8.tgz | Bin 0 -> 5906 bytes charts/latest/blob-csi-driver/Chart.yaml | 4 +- charts/latest/blob-csi-driver/values.yaml | 2 +- charts/v1.22.8/blob-csi-driver-v1.22.8.tgz | Bin 0 -> 5907 bytes charts/v1.22.8/blob-csi-driver/Chart.yaml | 5 + .../blob-csi-driver/templates/NOTES.txt | 5 + .../blob-csi-driver/templates/_helpers.tpl | 49 +++ .../templates/csi-blob-controller.yaml | 231 ++++++++++++ .../templates/csi-blob-driver.yaml | 14 + .../templates/csi-blob-node.yaml | 340 ++++++++++++++++++ .../templates/rbac-csi-blob-controller.yaml | 115 ++++++ .../templates/rbac-csi-blob-node.yaml | 29 ++ .../serviceaccount-csi-blob-controller.yaml | 17 + .../serviceaccount-csi-blob-node.yaml | 17 + charts/v1.22.8/blob-csi-driver/values.yaml | 180 ++++++++++ deploy/blobfuse-proxy/README.md | 6 +- deploy/csi-blob-controller.yaml | 2 +- deploy/csi-blob-node.yaml | 4 +- deploy/v1.22.8/csi-blob-controller.yaml | 159 ++++++++ deploy/v1.22.8/csi-blob-driver.yaml | 12 + deploy/v1.22.8/csi-blob-node.yaml | 217 +++++++++++ deploy/v1.22.8/kustomization.yaml | 10 + deploy/v1.22.8/rbac-csi-blob-controller.yaml | 108 ++++++ deploy/v1.22.8/rbac-csi-blob-node.yaml | 30 ++ docs/install-blob-csi-driver.md | 2 +- docs/install-csi-driver-v1.22.8.md | 47 +++ 31 files changed, 1645 insertions(+), 52 deletions(-) delete mode 100644 .trivyignore delete mode 100644 charts/latest/blob-csi-driver-v1.22.7.tgz create mode 100644 charts/latest/blob-csi-driver-v1.22.8.tgz create mode 100644 charts/v1.22.8/blob-csi-driver-v1.22.8.tgz create mode 100644 charts/v1.22.8/blob-csi-driver/Chart.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/NOTES.txt create mode 100644 charts/v1.22.8/blob-csi-driver/templates/_helpers.tpl create mode 100644 charts/v1.22.8/blob-csi-driver/templates/csi-blob-controller.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/csi-blob-driver.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/csi-blob-node.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml create mode 100644 charts/v1.22.8/blob-csi-driver/values.yaml create mode 100644 deploy/v1.22.8/csi-blob-controller.yaml create mode 100644 deploy/v1.22.8/csi-blob-driver.yaml create mode 100644 deploy/v1.22.8/csi-blob-node.yaml create mode 100644 deploy/v1.22.8/kustomization.yaml create mode 100644 deploy/v1.22.8/rbac-csi-blob-controller.yaml create mode 100644 deploy/v1.22.8/rbac-csi-blob-node.yaml create mode 100644 docs/install-csi-driver-v1.22.8.md diff --git a/.trivyignore b/.trivyignore deleted file mode 100644 index aa862cb02..000000000 --- a/.trivyignore +++ /dev/null @@ -1 +0,0 @@ -CVE-2024-24791 diff --git a/Makefile b/Makefile index 4ad30789b..d6356c498 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.22.7 +IMAGE_VERSION ?= v1.22.8 CLOUD ?= AzurePublicCloud # Use a custom version for E2E tests if we are in Prow ifdef CI diff --git a/README.md b/README.md index 7ad08626d..2922630bd 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Disclaimer: Deploying this driver manually is not an officially supported Micros |driver version |Image | supported k8s version | |----------------|------------------------------------------------------|-----------------------| |master branch |mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ | -|v1.22.7 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.7 | 1.21+ | +|v1.22.8 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 | 1.21+ | |v1.21.2 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.21.2 | 1.21+ | |v1.20.2 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.20.2 | 1.21+ | diff --git a/charts/index.yaml b/charts/index.yaml index 77cdc76fc..a90b378bc 100644 --- a/charts/index.yaml +++ b/charts/index.yaml @@ -2,17 +2,26 @@ apiVersion: v1 entries: blob-csi-driver: - apiVersion: v1 - appVersion: v1.22.7 - created: "2024-06-24T01:38:11.908836776Z" + appVersion: v1.22.8 + created: "2024-08-01T09:40:19.196071173Z" description: Azure Blob Storage CSI driver - digest: c9aa081c2a31996b1ccaa0a91ae1748594560567ab60ebb135b33fcaf4b22b88 + digest: 2df9573dc6c838a5cfefdc2bf17da5ebbb9acbcf57d109aa43edff300bf0fed2 name: blob-csi-driver urls: - - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.22.7.tgz - version: v1.22.7 + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v1.22.8.tgz + version: v1.22.8 + - apiVersion: v1 + appVersion: v1.22.8 + created: "2024-08-01T09:40:19.218749249Z" + description: Azure Blob Storage CSI driver + digest: a2ab602708e9c3b08d01baa66ffc7937b67119c060b4b90a41bedf15b709313c + name: blob-csi-driver + urls: + - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.22.8/blob-csi-driver-v1.22.8.tgz + version: v1.22.8 - apiVersion: v1 appVersion: v1.22.7 - created: "2024-06-24T01:38:11.930058087Z" + created: "2024-08-01T09:40:19.217183682Z" description: Azure Blob Storage CSI driver digest: 90a8250d5bae8939ac746a8e6da40037b0e4148bc30bd436ef1f1bfaf11603a2 name: blob-csi-driver @@ -21,7 +30,7 @@ entries: version: v1.22.7 - apiVersion: v1 appVersion: v1.22.6 - created: "2024-06-24T01:38:11.92942037Z" + created: "2024-08-01T09:40:19.216541644Z" description: Azure Blob Storage CSI driver digest: 82e30775aa05e093c30884f480d505b408023dfa32944cf21ebffe9d88afb1f2 name: blob-csi-driver @@ -30,7 +39,7 @@ entries: version: v1.22.6 - apiVersion: v1 appVersion: v1.22.5 - created: "2024-06-24T01:38:11.928770277Z" + created: "2024-08-01T09:40:19.215918245Z" description: Azure Blob Storage CSI driver digest: 653f8ea6121aa2e9d1bee8fc1e80f30960f0e81b40d356a019da9fa03c4af5e4 name: blob-csi-driver @@ -39,7 +48,7 @@ entries: version: v1.22.5 - apiVersion: v1 appVersion: v1.22.4 - created: "2024-06-24T01:38:11.928100853Z" + created: "2024-08-01T09:40:19.215306561Z" description: Azure Blob Storage CSI driver digest: 20a3f200282472f27ab45eccf74c87a205cc647aafd5ca481762b5cd3bc5249b name: blob-csi-driver @@ -48,7 +57,7 @@ entries: version: v1.22.4 - apiVersion: v1 appVersion: v1.22.3 - created: "2024-06-24T01:38:11.927471982Z" + created: "2024-08-01T09:40:19.214681727Z" description: Azure Blob Storage CSI driver digest: d8dba916d9540447f2b7ba33e8f56dafe7459eeffb6a7323645f359b19b6a6eb name: blob-csi-driver @@ -57,7 +66,7 @@ entries: version: v1.22.3 - apiVersion: v1 appVersion: v1.22.2 - created: "2024-06-24T01:38:11.926775639Z" + created: "2024-08-01T09:40:19.214014864Z" description: Azure Blob Storage CSI driver digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791 name: blob-csi-driver @@ -66,7 +75,7 @@ entries: version: v1.22.2 - apiVersion: v1 appVersion: v1.22.1 - created: "2024-06-24T01:38:11.92492993Z" + created: "2024-08-01T09:40:19.213018622Z" description: Azure Blob Storage CSI driver digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438 name: blob-csi-driver @@ -75,7 +84,7 @@ entries: version: v1.22.1 - apiVersion: v1 appVersion: v1.22.0 - created: "2024-06-24T01:38:11.924002018Z" + created: "2024-08-01T09:40:19.211855861Z" description: Azure Blob Storage CSI driver digest: 174eaf21b8e1f5f5c8e3f67d75ae4e5570c5e577ba663e5aca2b588a10597fb9 name: blob-csi-driver @@ -84,7 +93,7 @@ entries: version: v1.22.0 - apiVersion: v1 appVersion: v1.21.2 - created: "2024-06-24T01:38:11.923400765Z" + created: "2024-08-01T09:40:19.210239506Z" description: Azure Blob Storage CSI driver digest: a37e16c22dcee86f2e4e56fc6514aedd9061fe9548e82da476c536428b5ccbd8 name: blob-csi-driver @@ -93,7 +102,7 @@ entries: version: v1.21.2 - apiVersion: v1 appVersion: v1.21.1 - created: "2024-06-24T01:38:11.922772876Z" + created: "2024-08-01T09:40:19.209629901Z" description: Azure Blob Storage CSI driver digest: 77640358a3862bf482c10fe4d887cbfa84e47d29271a93aecf749c12645ea80e name: blob-csi-driver @@ -102,7 +111,7 @@ entries: version: v1.21.1 - apiVersion: v1 appVersion: v1.20.3 - created: "2024-06-24T01:38:11.92217755Z" + created: "2024-08-01T09:40:19.208989563Z" description: Azure Blob Storage CSI driver digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643 name: blob-csi-driver @@ -111,7 +120,7 @@ entries: version: v1.20.3 - apiVersion: v1 appVersion: v1.19.5 - created: "2024-06-24T01:38:11.92069448Z" + created: "2024-08-01T09:40:19.207580706Z" description: Azure Blob Storage CSI driver digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711 name: blob-csi-driver @@ -120,7 +129,7 @@ entries: version: v1.19.5 - apiVersion: v1 appVersion: v1.18.0 - created: "2024-06-24T01:38:11.919875073Z" + created: "2024-08-01T09:40:19.206662385Z" description: Azure Blob Storage CSI driver digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204 name: blob-csi-driver @@ -129,7 +138,7 @@ entries: version: v1.18.0 - apiVersion: v1 appVersion: v1.17.0 - created: "2024-06-24T01:38:11.919048927Z" + created: "2024-08-01T09:40:19.205837241Z" description: Azure Blob Storage CSI driver digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9 name: blob-csi-driver @@ -138,7 +147,7 @@ entries: version: v1.17.0 - apiVersion: v1 appVersion: v1.16.0 - created: "2024-06-24T01:38:11.918007753Z" + created: "2024-08-01T09:40:19.204923819Z" description: Azure Blob Storage CSI driver digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8 name: blob-csi-driver @@ -147,7 +156,7 @@ entries: version: v1.16.0 - apiVersion: v1 appVersion: v1.15.0 - created: "2024-06-24T01:38:11.915555352Z" + created: "2024-08-01T09:40:19.203694677Z" description: Azure Blob Storage CSI driver digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9 name: blob-csi-driver @@ -156,7 +165,7 @@ entries: version: v1.15.0 - apiVersion: v1 appVersion: v1.14.0 - created: "2024-06-24T01:38:11.914673427Z" + created: "2024-08-01T09:40:19.201839902Z" description: Azure Blob Storage CSI driver digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d name: blob-csi-driver @@ -165,7 +174,7 @@ entries: version: v1.14.0 - apiVersion: v1 appVersion: v1.13.0 - created: "2024-06-24T01:38:11.913792724Z" + created: "2024-08-01T09:40:19.200979081Z" description: Azure Blob Storage CSI driver digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31 name: blob-csi-driver @@ -174,7 +183,7 @@ entries: version: v1.13.0 - apiVersion: v1 appVersion: v1.12.0 - created: "2024-06-24T01:38:11.912917706Z" + created: "2024-08-01T09:40:19.200122635Z" description: Azure Blob Storage CSI driver digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8 name: blob-csi-driver @@ -183,7 +192,7 @@ entries: version: v1.12.0 - apiVersion: v1 appVersion: v1.11.0 - created: "2024-06-24T01:38:11.911924809Z" + created: "2024-08-01T09:40:19.199236433Z" description: Azure Blob Storage CSI driver digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560 name: blob-csi-driver @@ -192,7 +201,7 @@ entries: version: v1.11.0 - apiVersion: v1 appVersion: v1.10.0 - created: "2024-06-24T01:38:11.91103401Z" + created: "2024-08-01T09:40:19.198347872Z" description: Azure Blob Storage CSI driver digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9 name: blob-csi-driver @@ -201,7 +210,7 @@ entries: version: v1.10.0 - apiVersion: v1 appVersion: v1.9.0 - created: "2024-06-24T01:38:11.935468953Z" + created: "2024-08-01T09:40:19.223207956Z" description: Azure Blob Storage CSI driver digest: fca0b9215d3277346f68c643fb3ead75158971f0d1945ab01ec559196f3cf842 name: blob-csi-driver @@ -210,7 +219,7 @@ entries: version: v1.9.0 - apiVersion: v1 appVersion: v1.8.0 - created: "2024-06-24T01:38:11.934887605Z" + created: "2024-08-01T09:40:19.222622723Z" description: Azure Blob Storage CSI driver digest: 3b78e2ab4f33577c54d4f57276c824717d2ad2aa3741210e938fcaf927bc751f name: blob-csi-driver @@ -219,7 +228,7 @@ entries: version: v1.8.0 - apiVersion: v1 appVersion: v1.7.0 - created: "2024-06-24T01:38:11.93427729Z" + created: "2024-08-01T09:40:19.222061475Z" description: Azure Blob Storage CSI driver digest: 28da5b55c3d2689d6da85eb7da344385e9cb99bdb2af18c24fea93670abfe7ea name: blob-csi-driver @@ -228,7 +237,7 @@ entries: version: v1.7.0 - apiVersion: v1 appVersion: v1.6.0 - created: "2024-06-24T01:38:11.933689488Z" + created: "2024-08-01T09:40:19.221489757Z" description: Azure Blob Storage CSI driver digest: 6f24f2e6623f6f8862e47d4fbdf13b5f351ceec6bb9a4591ef7fc2fca9fc1eef name: blob-csi-driver @@ -237,7 +246,7 @@ entries: version: v1.6.0 - apiVersion: v1 appVersion: v1.5.0 - created: "2024-06-24T01:38:11.933078728Z" + created: "2024-08-01T09:40:19.220910193Z" description: Azure Blob Storage CSI driver digest: 95d14c9b70b319760d388ea47727c8c97e9287867a8852aeb67b7175b52fe8f5 name: blob-csi-driver @@ -246,7 +255,7 @@ entries: version: v1.5.0 - apiVersion: v1 appVersion: v1.4.1 - created: "2024-06-24T01:38:11.931581912Z" + created: "2024-08-01T09:40:19.220366314Z" description: Azure Blob Storage CSI driver digest: 5fcf69c449f065fa1d5722e5a7fed8a28000efa790907e9ff4b552c5fbd16d22 name: blob-csi-driver @@ -255,7 +264,7 @@ entries: version: v1.4.1 - apiVersion: v1 appVersion: v1.4.0 - created: "2024-06-24T01:38:11.931070516Z" + created: "2024-08-01T09:40:19.219849309Z" description: Azure Blob Storage CSI driver digest: b466543344a6411f6130ba87b093955d39ab8614c6b4ed8505a0a0c96073cb33 name: blob-csi-driver @@ -264,7 +273,7 @@ entries: version: v1.4.0 - apiVersion: v1 appVersion: v1.3.0 - created: "2024-06-24T01:38:11.930537628Z" + created: "2024-08-01T09:40:19.219323518Z" description: Azure Blob Storage CSI driver digest: 58d02cb70a3a966b349d62e880b7149fb06ac009474e35e580784fd3c98a5b07 name: blob-csi-driver @@ -273,7 +282,7 @@ entries: version: v1.3.0 - apiVersion: v1 appVersion: v1.2.0 - created: "2024-06-24T01:38:11.921216255Z" + created: "2024-08-01T09:40:19.208033746Z" description: Azure Blob Storage CSI driver digest: 27fb89f20b5fddc7329e6d7c2374857b22c1d61592e397a53f47121eea68c344 name: blob-csi-driver @@ -282,7 +291,7 @@ entries: version: v1.2.0 - apiVersion: v1 appVersion: v1.1.0 - created: "2024-06-24T01:38:11.909633228Z" + created: "2024-08-01T09:40:19.196831974Z" description: Azure Blob Storage CSI driver digest: a251a55243de207c69ef53f72abee45e93b72fa4fc43dc204b7f1cdfd459acdb name: blob-csi-driver @@ -291,7 +300,7 @@ entries: version: v1.1.0 - apiVersion: v1 appVersion: v1.0.0 - created: "2024-06-24T01:38:11.909157322Z" + created: "2024-08-01T09:40:19.196364863Z" description: Azure Blob Storage CSI driver digest: e83f037a165eafc83a978bd7e6bf6221b052ac34363aecb12e6a73607dc58b89 name: blob-csi-driver @@ -300,11 +309,11 @@ entries: version: v1.0.0 - apiVersion: v1 appVersion: latest - created: "2024-06-24T01:38:11.908160788Z" + created: "2024-08-01T09:40:19.195378268Z" description: Azure Blob Storage CSI driver digest: cff06b3e6b450e7ff97c1948e4f2029de2466b23cfe9686c7ed849cd1e618396 name: blob-csi-driver urls: - https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-v0.0.0.tgz version: v0.0.0 -generated: "2024-06-24T01:38:11.907348481Z" +generated: "2024-08-01T09:40:19.194578293Z" diff --git a/charts/latest/blob-csi-driver-v1.22.7.tgz b/charts/latest/blob-csi-driver-v1.22.7.tgz deleted file mode 100644 index 6f40461f888d8c9b079d7cf8e2230cdd594c2eda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5907 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 diff --git a/charts/latest/blob-csi-driver-v1.22.8.tgz b/charts/latest/blob-csi-driver-v1.22.8.tgz new file mode 100644 index 0000000000000000000000000000000000000000..83f79ad406a507731ee90aa25a69bc5e49458af0 GIT binary patch literal 5906 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 literal 0 HcmV?d00001 diff --git a/charts/latest/blob-csi-driver/Chart.yaml b/charts/latest/blob-csi-driver/Chart.yaml index 09d92cd43..b71d40637 100644 --- a/charts/latest/blob-csi-driver/Chart.yaml +++ b/charts/latest/blob-csi-driver/Chart.yaml @@ -1,5 +1,5 @@ apiVersion: v1 -appVersion: v1.22.7 +appVersion: v1.22.8 description: Azure Blob Storage CSI driver name: blob-csi-driver -version: v1.22.7 +version: v1.22.8 diff --git a/charts/latest/blob-csi-driver/values.yaml b/charts/latest/blob-csi-driver/values.yaml index 6fd716238..81c3457f2 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.22.7 + tag: v1.22.8 pullPolicy: IfNotPresent csiProvisioner: repository: /oss/kubernetes-csi/csi-provisioner diff --git a/charts/v1.22.8/blob-csi-driver-v1.22.8.tgz b/charts/v1.22.8/blob-csi-driver-v1.22.8.tgz new file mode 100644 index 0000000000000000000000000000000000000000..fdbca37e0d3c81d31b82221250adfe20f80e55e2 GIT binary patch literal 5907 zcmV+u7wqUCiwG0|00000|0w_~VMtOiV@ORlOnEsqVl!4SWK%V1T2nbTPgYhoO;>Dc zVQyr3R8em|NM&qo0PH<&bK5r3{j6VsQF?Q|dqTbWB|XjfgJUVFCXTGJob>MLbUYBb zl5i#g7628iuK)Wp07&s&qGZKR`w0Eem;`ng;O=6vFVMtg6U!FFayVH4Z(htXmyIR% z-0$|*TCG;=^!Ql+ztw7G|KDn#o_yCnK0WE2o*cJYN8h#D$L-Uj?@()hB$T&6NX)-$ zJsDSaa(|MBeexN&AdGg=qFuwjpZK%U=`?<VY4)?ufa>UUt!7I%IOhK>(FCgls`ZoGpk_6~L<@Q;h4!gAzE88Yhj`CX_B& z00kjNoK2t_#%PGIh9vNH8tv9*gp@hZ(}H#lGa@9%TTE094#m{s(eM-rKW?VL7UUWP z`F)!e=4L?Zi*7_!vt1TA;f65^CN8lr)RS86)hl!jQ{X^tK$0Ow0Wpp|#sLYiIY^-% zPXGl19Q0)lRHGquhBUhh1%ku0i{?`LqT5Um-5{*#Fk3Vw7I&g)Gdd-+fP>{T$Fdof zm{8zN1<%sJET5AFmJluJvRTv5M}g~(4K-c#%dfRp$U*^F7h%&`pfALA)tt=`2Td7AOBOWH7^GT` zDRu=QGF1=J7fkiTK!Ez2Bld+h6h1~JXRZsptG={lgmLxI5*WQgide*^XdIFd(i^UM zgr9M}{2|jOz-czz0Z@%ku$^5L1%72SXx6w;l-kPJP@plTOk(wy<_YXL`hTvA<$jw{ z8+;iHfL@)Z5&}O&ZTTF)(`H?><|pYH>MtUeLV{=6ZXhIZ%jQH98@meo80$c zs=qT`y68c{J{O;aV)b^b)kcrCe5c1+Eg=#sW-Aa4#g|GwUFh|SrMio-Qec*TY4#eY zytnYN4PB%@h-KEVh7_-{FMZEftGgPrV*fc4atQJZ<991PA?HM_*2iXn>nMS8h`z8M&B3{K{oB#q(|#ooHBwlZ8Q7wBIYbJR(K(mm=QN zd(%m)^^t^6Is6uYNcOV*KyiVW8`gh>`hfw1QUe-xDE4^a7?+ zuw@t3hiq)m!3kWbSAri3hp(9Nt7EaAfTpIm*1TF$k6%n7>9+&w5(=N08+h;mmglw& zLi|kReBc0;njIn`_wfBEiWiu;N;`E?yP9@6%IOE73cy>JO{Rf>5oh-aER)n@4UteG zvFk1AHj|7DJW zW@M_ zv3y!@-n_}{*=N;!r3aiBR<=(?f`6w|@dZnJ?y%X{ozYGTw@~jGfjU>Df7B-u!*{hQ zU>R`D3sdo)v%rr|aMysHpE;3mMQu>x{%(A;^kD_-JxHSy#uBS@k>SOfv2nX8W4>Vv z($K0ZbRigfSs85SGf>3T6^%jk_c)kN$$b~quf}6*4z8!(>hbT{xcA|5r7G%m^a`!? z4KfZZ_4o(MltvN%c#V4fx1Zj>MuXwItJmn~^XuVY`2IEOUteEcE0asv&7pqLM5qVx z-!+%e;9ku}sZAGT7d01{H(fGmhEHl*rX^=xNZpeH2WE`8~KS!sXjQ{uK^z``P|9y^jqjb=^n2ypnv+yYDfbX&;Xb+0^RD`Og zQLEiBWY59A+W^eCHYApTc#V7)umE*{?AAhUYfBed7L6>|vxf)NxCY&?v9f2;|~f z^DOP*q4`g=AYNBn2~*;NT>5b4sb#U}&_(}jK0elJx?BI=$JEir0}Wlj+TPG91G?YC zgM}QJ5(=oUjX>3}j;#0<4qS;ECd)vJX5+JoII5mk3*ekMfc{XHDz(w+k^U#~jCF|W zRtyZNqyMdGt6gZPvZ2LLr$`MW&&o2=v4qJorr0=l8?|D>b(a{K&k2=NRR5c>{wC__ z37CI}M@ICA_L(UyRsWwls^8XknGEwhrtCJO*hCqTQ3vCMHqfx|XB-vACVzN9k!+{F zO#>AU(x+rg#6h^ zk`qc&GB9CYBgy`QJ$Fry72?#FHDd1vuDc4%O&O0p`T`YyXFraeB|dgcVK%^~5a)t! zdJxBS25ZNmRa{OjZ^>-Z6MJc$`z^Kd{l6ecvSV7v`u)GtdUJA`-v2vo^}oaZ{|xPp zP^XJ}+OYS4%33lZ4Ew%lF50yy<{5i<^U0nwgMcK=n{N-3mTZzFRNU>W;x6QdQR zi6lN&?rqYzjXrleMPo&}09zUMBhJ(rG=7edI*)eIbwDNYpl42yYv-2;kHm;mF_SH3 z9NW4vO;#dao6J58Kl2=m5eI$3Yu3|Z)kr5jG~(>Lq|yrIw2SJA#WmxjEKT(In0vPl zc6U>6iD&5Xv2GT?6;P3${ozdS0|;S06G=8u%U-t@XPtWPp|)SK<8Tn-?E4?id%f%a zc>IrojxJyaxCLQq*ybJ;T#*Gp6sNL4p0ztIQSch>CC8RYgR`P7{w%#Wt~%?`J@$$9 zn=j5zTI+gD0xslPyOrt$bdg;~!@c1$rQRVEPV1s(nETlf%)ZMq!YGmRx#=6n`Jw60 zyU<}o9hS^}W)s;q;qWMvIBte|MHfiRAw2Oqj(np6Vi-7)W)eW1uL^wxYBTTk*zh-qguJ>?I2qzYF}2g zbb4_Gfzk(~y~Fhp}ylolZtCgKrVqpq%|F(l18#xuhud#o03ZVs_FPABNCEyG5 z5i^jLa?Nq*$~ZS^g-_AFXk}TL9=~Va`J72+Gq;OwE=IeMk>=e(%wd;`m<#jzOq*ij z1{`kY9K@Wtj>)f#+gwWjJ;XY4+%syiO11zs$ zn(q*OmN4IzgJY?)X+b}oD6Cem;9ZpQl}HxNP9&)$i_P(XlKXD6S#GCS6Rv~bE`nDl2%~bENZpXb3x0hG% zZ!i0w`BwaXmS_ZHIpH9F&>z@zV*pKX;)h&#b<}y9V{ib=hyICKsY#Y@uSb20iCid znk;O~m9r%X3v1pQsUC(zqror96zrw#!bj%7s;+LN)vE`(Yy|3~fiQTG0)Hz!A(gZw{73-kXlc#Mu=hx9+q9s5lD%K+R-Z3Mc~dMr7X zFbm7YmEB0_%oJfqyLq;FJxfRWeMC{1l9B|tOXgs1rZ18+SU|-gTkyrQ1q&zk5(#}F z35=&1rQni=q7HGmD+*5OlfHHu30Vi}8ULZo~Y%rs2^|*fzcA#(ROdVB{1l|DmawlBN=&Js` z&mp`@q9BeDUWX#hbpZJm-#{>AazG3FgthvG?-Ygw;WEIk6<68ET#^t6z3$1>*#cQl z_t`A(=E1j{->B!ar_9EpNUe)8}bFv^V%+#4G=U#uBYkQ5ave$n*I3M1=yS^IU^oPA- zpJkmgN~i>mZAlinlt=?Eli) zbGI>-;#ByagvzUir#Bd%zrF0=ej4@8Z~DErJK@S)6_r7@+2yY6Co2%^9PX-1GutIK z9;Cf#yy~)5vV11FH3t10S&v)Bm=Bq^f9}j%Emu|Zz7(9rS*LOgN(28UlU$20h_1lQ z1-G{Cm!&r%$g^3|kR93kYhd4=)#Dg+u3LECS$#AeQ1-E$pMC#B?|SgLe|>x1e}6l^ zy7+KAI=}fT4|u3JigzFL{L2Dz*#Y<%-*qM^5IDpV|Ay% zdcqngm~Jtw1oN4IXE=5A_}KK_U`D8DmWEi0i1;dj`FL>Zi>wEc?7FLhEfB>+Ey1^Z zwyjc2V0P$zRS~2Q!^x4Wqnl11T?@o`Kr*m$G#C3x3c#t}#5w!^hYz3L_HTz*z5ea+ z{A0fe^R8736>0=D&0nKBpd9d;x`1!5&Z0`Cf^j8Qs8L8W(hOvj*(D^F;;bMVU39Bz z38DHzU~LNvi9O%4u{{T+e)FW3-5p#ES?g=dk1rC=0nFYsylyFpzBoFX_#G@QtnZGt zz7RRLhy!ZBmU+3VcI))o1=n}pb#|Q+aGer9&HO}PzJnfYENK8S+AmKZ%7b3K zJg7K}pgdb8B0NbP^JR1O%ZN>FZ#MOBfu%`{7*Uy{xz}lkE}1kv<^(QeS2K#5OswMf z`z?>k_*@DLqqbc?E4dKSZ)Y4FC*_WlvS5E|0qcK-O=~M=Oih1{>#yogxOXXj-t95R zI;#q#t@C=;hK<)2z9hS@2_0`Lo+*+8Ywf5fIm^?B)(!PhYYe2_N!*Eo68q@M3w0a+ zg3aU95h3E6pCI=HQ`f?q#axwm084aABogpgKF|b_r{( z1-F*8GNZ6cMdvqMYItbhU@Ncx;uCCJd$|ODL;dIJ(dkk4{`WVn(?k8&bF_?#P#?Wv zZYI?~+z=LjnxA>PW-g=(#B^^Q$T{QWcWnnG>PFXAjp>o0Rc67x1WvJ=yi8YLe7t-8 zC|Am}tA88<`$U&~iZ1%4UjJ1?N}NA_sr#!M&(M+%J1u}ubcY$p`fF5oiO~PoM-lZ8 zvrg(?j{W5f$ zr)3MG%z?d5=t%%=#<)XhQY4CS=-SA=ELzR7tXf`L-xBH&I{O+zo4NejnuMr!FZm88 z{{>ryQfsC%PE~K!VuNd&E8?q^q$+I_hF|h3? zJ)cqvf7Yyo$wQw0wPZo|z`@(C%m0Htb|*%u!qX2A2hT)7t9t%_$|W!x&j0PBqul*Z z$474t=l|zu8_xgFx)JC)lW%DYcp=4~T!(K({&i$w~X5 p|DU71nEsCq%7f-VX#PVxv_m_zLwn}-e*pjh|Np7@O@9EY003N_pm6{I literal 0 HcmV?d00001 diff --git a/charts/v1.22.8/blob-csi-driver/Chart.yaml b/charts/v1.22.8/blob-csi-driver/Chart.yaml new file mode 100644 index 000000000..b71d40637 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/Chart.yaml @@ -0,0 +1,5 @@ +apiVersion: v1 +appVersion: v1.22.8 +description: Azure Blob Storage CSI driver +name: blob-csi-driver +version: v1.22.8 diff --git a/charts/v1.22.8/blob-csi-driver/templates/NOTES.txt b/charts/v1.22.8/blob-csi-driver/templates/NOTES.txt new file mode 100644 index 000000000..9ad135dd4 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/NOTES.txt @@ -0,0 +1,5 @@ +The Azure Blob Storage CSI driver is getting deployed to your cluster. + +To check Azure Blob Storage CSI driver pods status, please run: + + kubectl --namespace={{ .Release.Namespace }} get pods --selector="release={{ .Release.Name }}" --watch diff --git a/charts/v1.22.8/blob-csi-driver/templates/_helpers.tpl b/charts/v1.22.8/blob-csi-driver/templates/_helpers.tpl new file mode 100644 index 000000000..d99392f32 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/_helpers.tpl @@ -0,0 +1,49 @@ +{{/* vim: set filetype=mustache: */}} + +{{/* Expand the name of the chart.*/}} +{{- define "blob.name" -}} +{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Create chart name and version as used by the chart label. +*/}} +{{- define "blob.chart" -}} +{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}} +{{- end -}} + +{{/* +Common selectors. +*/}} +{{- define "blob.selectorLabels" -}} +app.kubernetes.io/name: {{ template "blob.name" . }} +app.kubernetes.io/instance: {{ .Release.Name }} +{{- end -}} + +{{/* +Common labels. +*/}} +{{- define "blob.labels" -}} +{{- include "blob.selectorLabels" . }} +app.kubernetes.io/component: csi-driver +app.kubernetes.io/part-of: {{ template "blob.name" . }} +app.kubernetes.io/managed-by: {{ .Release.Service }} +{{- if .Chart.AppVersion }} +app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} +{{- end }} +helm.sh/chart: {{ template "blob.chart" . }} +{{- if .Values.customLabels }} +{{ toYaml .Values.customLabels }} +{{- end }} +{{- end -}} + + +{{/* pull secrets for containers */}} +{{- define "blob.pullSecrets" -}} +{{- if .Values.imagePullSecrets }} +imagePullSecrets: +{{- range .Values.imagePullSecrets }} + - name: {{ . }} +{{- end }} +{{- end }} +{{- end -}} \ No newline at end of file diff --git a/charts/v1.22.8/blob-csi-driver/templates/csi-blob-controller.yaml b/charts/v1.22.8/blob-csi-driver/templates/csi-blob-controller.yaml new file mode 100644 index 000000000..b2091b6f5 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/csi-blob-controller.yaml @@ -0,0 +1,231 @@ +kind: Deployment +apiVersion: apps/v1 +metadata: + name: {{ .Values.controller.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.controller.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + replicas: {{ .Values.controller.replicas }} + selector: + matchLabels: + app: {{ .Values.controller.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.controller.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: +{{- with .Values.controller.affinity }} + affinity: +{{ toYaml . | indent 8 }} +{{- end }} + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + hostNetwork: {{ .Values.controller.hostNetwork }} + serviceAccountName: {{ .Values.serviceAccount.controller }} + nodeSelector: + kubernetes.io/os: linux + {{- if .Values.controller.runOnMaster}} + node-role.kubernetes.io/master: "" + {{- end}} + {{- if .Values.controller.runOnControlPlane}} + node-role.kubernetes.io/control-plane: "" + {{- end}} +{{- with .Values.controller.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.controller.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} + containers: + - name: csi-provisioner +{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}" +{{- else }} + image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}" +{{- end }} + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - "--timeout=120s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + 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 + - --health-port={{ .Values.controller.livenessProbe.healthPort }} + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }} + 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.livenessProbe.healthPort }} + name: healthz + protocol: TCP + - containerPort: {{ .Values.controller.metricsPort }} + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + resources: {{- toYaml .Values.controller.resources.blob | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer +{{- if hasPrefix "/" .Values.image.csiResizer.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- else }} + image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}" +{{- end }} + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace={{ .Release.Namespace }}" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }} + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.22.8/blob-csi-driver/templates/csi-blob-driver.yaml b/charts/v1.22.8/blob-csi-driver/templates/csi-blob-driver.yaml new file mode 100644 index 000000000..9a6aea64a --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/csi-blob-driver.yaml @@ -0,0 +1,14 @@ +--- +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 diff --git a/charts/v1.22.8/blob-csi-driver/templates/csi-blob-node.yaml b/charts/v1.22.8/blob-csi-driver/templates/csi-blob-node.yaml new file mode 100644 index 000000000..00187ec95 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/csi-blob-node.yaml @@ -0,0 +1,340 @@ +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: {{ .Values.node.name }} + namespace: {{ .Release.Namespace }} + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 4 }} +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: {{ .Values.node.maxUnavailable }} + type: RollingUpdate + selector: + matchLabels: + app: {{ .Values.node.name }} + {{- include "blob.selectorLabels" . | nindent 6 }} + template: + metadata: + labels: + app: {{ .Values.node.name }} + {{- include "blob.labels" . | nindent 8 }} + {{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + {{- end }} + {{- if .Values.podLabels }} +{{- toYaml .Values.podLabels | nindent 8 }} + {{- end }} +{{- if .Values.podAnnotations }} + annotations: +{{ toYaml .Values.podAnnotations | indent 8 }} +{{- end }} + spec: + {{- if .Values.imagePullSecrets }} + imagePullSecrets: +{{ toYaml .Values.imagePullSecrets | indent 8 }} + {{- end }} + {{- if or .Values.node.enableBlobfuseProxy .Values.node.enableAznfsMount }} + hostPID: true + {{- end }} + hostNetwork: true + dnsPolicy: Default + serviceAccountName: {{ .Values.serviceAccount.node }} + nodeSelector: + kubernetes.io/os: linux +{{- with .Values.node.nodeSelector }} +{{ toYaml . | indent 8 }} +{{- end }} + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + {{- if .Values.node.affinity }} +{{- toYaml .Values.node.affinity | nindent 8 }} + {{- end }} + priorityClassName: {{ .Values.priorityClassName | quote }} + securityContext: + seccompProfile: + type: RuntimeDefault +{{- with .Values.node.tolerations }} + tolerations: +{{ toYaml . | indent 8 }} +{{- end }} +{{- if .Values.node.enableBlobfuseProxy }} + 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: SET_MAX_OPEN_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.setMaxOpenFileNum }}" + - name: MAX_FILE_NUM + value: "{{ .Values.node.blobfuseProxy.maxOpenFileNum }}" + - name: DISABLE_UPDATEDB + value: "{{ .Values.node.blobfuseProxy.disableUpdateDB }}" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-etc + mountPath: /host/etc +{{- end }} + containers: + - name: liveness-probe + imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }} + volumeMounts: + - mountPath: /csi + name: socket-dir +{{- if hasPrefix "/" .Values.image.livenessProbe.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- else }} + image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}" +{{- end }} + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port={{ .Values.node.livenessProbe.healthPort }} + - --v=2 + resources: {{- toYaml .Values.node.resources.livenessProbe | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar +{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- else }} + image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}" +{{- end }} + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + livenessProbe: + exec: + command: + - /csi-node-driver-registrar + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 30 + timeoutSeconds: 15 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: {{- toYaml .Values.node.resources.nodeDriverRegistrar | nindent 12 }} + securityContext: + capabilities: + drop: + - ALL + - name: blob +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + args: + - "--v={{ .Values.node.logLevel }}" + - "--endpoint=$(CSI_ENDPOINT)" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--enable-blobfuse-proxy={{ .Values.node.enableBlobfuseProxy }}" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--drivername={{ .Values.driver.name }}" + - "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}" + - "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}" + - "--custom-user-agent={{ .Values.driver.customUserAgent }}" + - "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}" + - "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}" + - "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}" + - "--append-timestamp-cache-dir={{ .Values.node.appendTimeStampInCacheDir }}" + - "--mount-permissions={{ .Values.node.mountPermissions }}" + - "--allow-inline-volume-key-access-with-idenitity={{ .Values.node.allowInlineVolumeKeyAccessWithIdentity }}" + - "--enable-aznfs-mount={{ .Values.node.enableAznfsMount }}" + ports: + - containerPort: {{ .Values.node.livenessProbe.healthPort }} + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + {{- if ne .Values.driver.httpsProxy "" }} + - name: HTTPS_PROXY + value: {{ .Values.driver.httpsProxy }} + {{- end }} + {{- if ne .Values.driver.httpProxy "" }} + - name: HTTP_PROXY + value: {{ .Values.driver.httpProxy }} + {{- end }} + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + - name: AZURE_GO_SDK_LOG_LEVEL + value: {{ .Values.driver.azureGoSDKLogLevel }} + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: AZURE_ENVIRONMENT_FILEPATH + value: /etc/kubernetes/azurestackcloud.json + {{- end }} + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + mountPath: /etc/ssl/certs + readOnly: true + - name: ssl-pki + mountPath: /etc/pki/ca-trust/extracted + readOnly: true + {{- end }} + {{- if .Values.node.enableAznfsMount }} + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: /lib/modules + name: lib-modules + readOnly: true + {{- end }} + resources: {{- toYaml .Values.node.resources.blob | nindent 12 }} +{{- if .Values.node.enableAznfsMount }} + - name: aznfswatchdog +{{- if hasPrefix "/" .Values.image.blob.repository }} + image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- else }} + image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}" +{{- end }} + command: + - "aznfswatchdog" + imagePullPolicy: {{ .Values.image.blob.pullPolicy }} + securityContext: + privileged: true + capabilities: + drop: + - ALL + resources: {{- toYaml .Values.node.resources.aznfswatchdog | nindent 12 }} + volumeMounts: + - mountPath: /opt/microsoft/aznfs/data + name: aznfs-data + - mountPath: {{ .Values.linux.kubelet }}/ + mountPropagation: Bidirectional + name: mountpoint-dir +{{- end }} + volumes: +{{- if .Values.node.enableBlobfuseProxy }} + - name: host-usr + hostPath: + path: /usr + - name: host-etc + hostPath: + path: /etc +{{- end }} + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }} + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: {{ .Values.linux.kubelet }}/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: {{ .Values.node.blobfuseCachePath }} + name: blob-cache + {{- if eq .Values.cloud "AzureStackCloud" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + {{- end }} + {{- if eq .Values.linux.distro "fedora" }} + - name: ssl + hostPath: + path: /etc/ssl/certs + - name: ssl-pki + hostPath: + path: /etc/pki/ca-trust/extracted + {{- end }} + {{- if .Values.node.enableAznfsMount }} + - hostPath: + path: /opt/microsoft/aznfs/data + type: DirectoryOrCreate + name: aznfs-data + - name: lib-modules + hostPath: + path: /lib/modules + type: DirectoryOrCreate + {{- end }} + {{- if .Values.securityContext }} + securityContext: {{- toYaml .Values.securityContext | nindent 8 }} + {{- end }} diff --git a/charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml b/charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..833dcc640 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-controller.yaml @@ -0,0 +1,115 @@ +{{- if .Values.rbac.create -}} +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-provisioner-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-csi-provisioner-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Values.rbac.name }}-external-provisioner-role + apiGroup: rbac.authorization.k8s.io + +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-external-resizer-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: {{ .Values.rbac.name }}-csi-resizer-role + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: {{ .Values.rbac.name }}-external-resizer-role + apiGroup: rbac.authorization.k8s.io + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-controller-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-controller-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-controller-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml b/charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..c041cf8db --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/rbac-csi-blob-node.yaml @@ -0,0 +1,29 @@ +{{- if .Values.rbac.create -}} +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-role + labels: + {{- include "blob.labels" . | nindent 4 }} +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-{{ .Values.rbac.name }}-node-secret-binding + labels: + {{- include "blob.labels" . | nindent 4 }} +subjects: + - kind: ServiceAccount + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} +roleRef: + kind: ClusterRole + name: csi-{{ .Values.rbac.name }}-node-secret-role + apiGroup: rbac.authorization.k8s.io +{{ end }} diff --git a/charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml b/charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml new file mode 100644 index 000000000..7433bccf1 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-controller.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.controller }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml b/charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml new file mode 100644 index 000000000..a25090e30 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/templates/serviceaccount-csi-blob-node.yaml @@ -0,0 +1,17 @@ +{{- if .Values.serviceAccount.create -}} +apiVersion: v1 +kind: ServiceAccount +metadata: + name: {{ .Values.serviceAccount.node }} + namespace: {{ .Release.Namespace }} + labels: + {{- include "blob.labels" . | nindent 4 }} +{{- if .Values.workloadIdentity.clientID }} + azure.workload.identity/use: "true" + annotations: + azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }} +{{- if .Values.workloadIdentity.tenantID }} + azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }} +{{- end }} +{{- end }} +{{- end -}} diff --git a/charts/v1.22.8/blob-csi-driver/values.yaml b/charts/v1.22.8/blob-csi-driver/values.yaml new file mode 100644 index 000000000..81c3457f2 --- /dev/null +++ b/charts/v1.22.8/blob-csi-driver/values.yaml @@ -0,0 +1,180 @@ +image: + baseRepo: mcr.microsoft.com + blob: + repository: /oss/kubernetes-csi/blob-csi + tag: v1.22.8 + pullPolicy: IfNotPresent + csiProvisioner: + repository: /oss/kubernetes-csi/csi-provisioner + tag: v3.5.0 + pullPolicy: IfNotPresent + livenessProbe: + repository: /oss/kubernetes-csi/livenessprobe + tag: v2.10.0 + pullPolicy: IfNotPresent + nodeDriverRegistrar: + repository: /oss/kubernetes-csi/csi-node-driver-registrar + tag: v2.8.0 + pullPolicy: IfNotPresent + csiResizer: + repository: /oss/kubernetes-csi/csi-resizer + tag: v1.8.0 + pullPolicy: IfNotPresent + +cloud: AzurePublicCloud + +## Reference to one or more secrets to be used when pulling images +## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ +imagePullSecrets: [] +# - name: myRegistryKeySecretName + +serviceAccount: + create: true # When true, service accounts will be created for you. Set to false if you want to use your own. + controller: csi-blob-controller-sa # Name of Service Account to be created or used + node: csi-blob-node-sa # Name of Service Account to be created or used + +rbac: + create: true + name: blob + +## Collection of annotations to add to all the pods +podAnnotations: {} +## Collection of labels to add to all the pods +podLabels: {} +# -- Custom labels to add into metadata +customLabels: {} + # k8s-app: blob-csi-driver + +## Leverage a PriorityClass to ensure your pods survive resource shortages +## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/ +priorityClassName: system-cluster-critical +## Security context give the opportunity to run container as nonroot by setting a securityContext +## by example : +## securityContext: { runAsUser: 1001 } +securityContext: {} + +controller: + name: csi-blob-controller + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + hostNetwork: true # this setting could be disabled if controller does not depend on MSI setting + metricsPort: 29634 + livenessProbe: + healthPort: 29632 + replicas: 2 + runOnMaster: false + runOnControlPlane: false + logLevel: 5 + resources: + csiProvisioner: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + csiResizer: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + +node: + name: csi-blob-node + cloudConfigSecretName: azure-cloud-provider + cloudConfigSecretNamespace: kube-system + allowEmptyCloudConfig: true + allowInlineVolumeKeyAccessWithIdentity: false + maxUnavailable: 1 + livenessProbe: + healthPort: 29633 + logLevel: 5 + enableBlobfuseProxy: false + blobfuseProxy: + installBlobfuse: true + blobfuseVersion: "1.4.5" + installBlobfuse2: true + blobfuse2Version: "2.0.5" + setMaxOpenFileNum: true + maxOpenFileNum: "9000000" + disableUpdateDB: true + blobfuseCachePath: /mnt + appendTimeStampInCacheDir: false + mountPermissions: 0777 + resources: + livenessProbe: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + nodeDriverRegistrar: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + blob: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + aznfswatchdog: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + affinity: {} + nodeSelector: {} + tolerations: + - operator: "Exists" + enableAznfsMount: true + +feature: + fsGroupPolicy: ReadWriteOnceWithFSType + enableGetVolumeStats: false + +driver: + name: blob.csi.azure.com + customUserAgent: "" + userAgentSuffix: "OSS-helm" + azureGoSDKLogLevel: "" # available values: ""(no logs), DEBUG, INFO, WARNING, ERROR + httpsProxy: "" + httpProxy: "" + +linux: + kubelet: /var/lib/kubelet + distro: debian + +workloadIdentity: + clientID: "" + # [optional] If the AAD application or user-assigned managed identity is not in the same tenant as the cluster + # then set tenantID with the application or user-assigned managed identity tenant ID + tenantID: "" diff --git a/deploy/blobfuse-proxy/README.md b/deploy/blobfuse-proxy/README.md index c89a1fdda..cf121e0e4 100644 --- a/deploy/blobfuse-proxy/README.md +++ b/deploy/blobfuse-proxy/README.md @@ -9,19 +9,19 @@ This guide shows how to install a blobfuse proxy on all agent nodes and the prox - helm install ```console helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts -helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.22.7 --set node.enableBlobfuseProxy=true +helm install blob-csi-driver blob-csi-driver/blob-csi-driver --namespace kube-system --version v1.22.8 --set node.enableBlobfuseProxy=true ``` - kubectl install ```console -curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.22.7/deploy/install-driver.sh | bash -s v1.22.7 blobfuse-proxy -- +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.22.8/deploy/install-driver.sh | bash -s v1.22.8 blobfuse-proxy -- ``` ### Enable blobfuse proxy on existing Blob CSI driver - install blobfuse proxy daemonset > following config only works on debian based agent node ```console -kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/v1.22.7/blobfuse-proxy.yaml +kubectl apply -f https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/deploy/v1.22.8/blobfuse-proxy.yaml ``` - set `enable-blobfuse-proxy=true` in existing `csi-blob-node` daemonset manually (default is `false`) ```console diff --git a/deploy/csi-blob-controller.yaml b/deploy/csi-blob-controller.yaml index bdb085cf2..12287a36a 100644 --- a/deploy/csi-blob-controller.yaml +++ b/deploy/csi-blob-controller.yaml @@ -80,7 +80,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.7 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/csi-blob-node.yaml b/deploy/csi-blob-node.yaml index ba083ced6..69c87585f 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.22.7 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 imagePullPolicy: IfNotPresent command: - "/blobfuse-proxy/init.sh" @@ -129,7 +129,7 @@ spec: drop: - ALL - name: blob - image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.7 + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 imagePullPolicy: IfNotPresent args: - "--v=5" diff --git a/deploy/v1.22.8/csi-blob-controller.yaml b/deploy/v1.22.8/csi-blob-controller.yaml new file mode 100644 index 000000000..12287a36a --- /dev/null +++ b/deploy/v1.22.8/csi-blob-controller.yaml @@ -0,0 +1,159 @@ +--- +kind: Deployment +apiVersion: apps/v1 +metadata: + name: csi-blob-controller + namespace: kube-system +spec: + replicas: 2 + selector: + matchLabels: + app: csi-blob-controller + template: + metadata: + labels: + app: csi-blob-controller + spec: + hostNetwork: true + serviceAccountName: csi-blob-controller-sa + nodeSelector: + kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node + priorityClassName: system-cluster-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - key: "node-role.kubernetes.io/master" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/controlplane" + operator: "Exists" + effect: "NoSchedule" + - key: "node-role.kubernetes.io/control-plane" + operator: "Exists" + effect: "NoSchedule" + containers: + - name: csi-provisioner + image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v3.5.0 + args: + - "-v=2" + - "--csi-address=$(ADDRESS)" + - "--leader-election" + - "--leader-election-namespace=kube-system" + - "--timeout=120s" + - "--extra-create-metadata=true" + - "--kube-api-qps=50" + - "--kube-api-burst=100" + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: liveness-probe + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.10.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29632 + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--metrics-address=0.0.0.0:29634" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29632 + name: healthz + protocol: TCP + - containerPort: 29634 + name: metrics + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + resources: + limits: + memory: 200Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: csi-resizer + image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.8.0 + args: + - "-csi-address=$(ADDRESS)" + - "-v=2" + - "-leader-election" + - "--leader-election-namespace=kube-system" + - '-handle-volume-inuse-error=false' + env: + - name: ADDRESS + value: /csi/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + resources: + limits: + memory: 500Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + volumes: + - name: socket-dir + emptyDir: {} + - name: azure-cred + hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate diff --git a/deploy/v1.22.8/csi-blob-driver.yaml b/deploy/v1.22.8/csi-blob-driver.yaml new file mode 100644 index 000000000..d2de725d8 --- /dev/null +++ b/deploy/v1.22.8/csi-blob-driver.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: storage.k8s.io/v1 +kind: CSIDriver +metadata: + name: blob.csi.azure.com +spec: + attachRequired: false + podInfoOnMount: true + fsGroupPolicy: ReadWriteOnceWithFSType + volumeLifecycleModes: + - Persistent + - Ephemeral diff --git a/deploy/v1.22.8/csi-blob-node.yaml b/deploy/v1.22.8/csi-blob-node.yaml new file mode 100644 index 000000000..69c87585f --- /dev/null +++ b/deploy/v1.22.8/csi-blob-node.yaml @@ -0,0 +1,217 @@ +--- +kind: DaemonSet +apiVersion: apps/v1 +metadata: + name: csi-blob-node + namespace: kube-system +spec: + updateStrategy: + rollingUpdate: + maxUnavailable: 1 + type: RollingUpdate + selector: + matchLabels: + app: csi-blob-node + template: + metadata: + labels: + app: csi-blob-node + spec: + hostNetwork: true + hostPID: true + dnsPolicy: Default + serviceAccountName: csi-blob-node-sa + nodeSelector: + kubernetes.io/os: linux + affinity: + nodeAffinity: + requiredDuringSchedulingIgnoredDuringExecution: + nodeSelectorTerms: + - matchExpressions: + - key: type + operator: NotIn + values: + - virtual-kubelet + priorityClassName: system-node-critical + securityContext: + seccompProfile: + type: RuntimeDefault + tolerations: + - operator: "Exists" + initContainers: + - name: install-blobfuse-proxy + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 + imagePullPolicy: IfNotPresent + command: + - "/blobfuse-proxy/init.sh" + securityContext: + privileged: true + capabilities: + drop: + - ALL + env: + - name: DEBIAN_FRONTEND + value: "noninteractive" + - name: INSTALL_BLOBFUSE_PROXY + value: "true" + - name: INSTALL_BLOBFUSE + value: "true" + - name: BLOBFUSE_VERSION + value: "1.4.5" + - name: INSTALL_BLOBFUSE2 + value: "true" + - name: BLOBFUSE2_VERSION + value: "2.0.5" + - name: SET_MAX_OPEN_FILE_NUM + value: "true" + - name: MAX_FILE_NUM + value: "9000000" + - name: DISABLE_UPDATEDB + value: "true" + volumeMounts: + - name: host-usr + mountPath: /host/usr + - name: host-etc + mountPath: /host/etc + containers: + - name: liveness-probe + volumeMounts: + - mountPath: /csi + name: socket-dir + image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.10.0 + args: + - --csi-address=/csi/csi.sock + - --probe-timeout=3s + - --health-port=29633 + - --v=2 + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: node-driver-registrar + image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.8.0 + args: + - --csi-address=$(ADDRESS) + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --v=2 + livenessProbe: + exec: + command: + - /csi-node-driver-registrar + - --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH) + - --mode=kubelet-registration-probe + initialDelaySeconds: 30 + timeoutSeconds: 15 + env: + - name: ADDRESS + value: /csi/csi.sock + - name: DRIVER_REG_SOCK_PATH + value: /var/lib/kubelet/plugins/blob.csi.azure.com/csi.sock + volumeMounts: + - name: socket-dir + mountPath: /csi + - name: registration-dir + mountPath: /registration + resources: + limits: + memory: 100Mi + requests: + cpu: 10m + memory: 20Mi + securityContext: + capabilities: + drop: + - ALL + - name: blob + image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.22.8 + imagePullPolicy: IfNotPresent + args: + - "--v=5" + - "--endpoint=$(CSI_ENDPOINT)" + - "--enable-blobfuse-proxy=false" + - "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)" + - "--nodeid=$(KUBE_NODE_NAME)" + - "--user-agent-suffix=OSS-kubectl" + ports: + - containerPort: 29633 + name: healthz + protocol: TCP + livenessProbe: + failureThreshold: 5 + httpGet: + path: /healthz + port: healthz + initialDelaySeconds: 30 + timeoutSeconds: 10 + periodSeconds: 30 + env: + - name: AZURE_CREDENTIAL_FILE + valueFrom: + configMapKeyRef: + name: azure-cred-file + key: path + optional: true + - name: CSI_ENDPOINT + value: unix:///csi/csi.sock + - name: BLOBFUSE_PROXY_ENDPOINT + value: unix:///csi/blobfuse-proxy.sock + - name: KUBE_NODE_NAME + valueFrom: + fieldRef: + apiVersion: v1 + fieldPath: spec.nodeName + securityContext: + privileged: true + capabilities: + drop: + - ALL + volumeMounts: + - mountPath: /csi + name: socket-dir + - mountPath: /var/lib/kubelet/ + mountPropagation: Bidirectional + name: mountpoint-dir + - mountPath: /etc/kubernetes/ + name: azure-cred + - mountPath: /mnt + name: blob-cache + resources: + limits: + memory: 2100Mi + requests: + cpu: 10m + memory: 20Mi + volumes: + - name: host-usr + hostPath: + path: /usr + - name: host-etc + hostPath: + path: /etc + - hostPath: + path: /var/lib/kubelet/plugins/blob.csi.azure.com + type: DirectoryOrCreate + name: socket-dir + - hostPath: + path: /var/lib/kubelet/ + type: DirectoryOrCreate + name: mountpoint-dir + - hostPath: + path: /var/lib/kubelet/plugins_registry/ + type: DirectoryOrCreate + name: registration-dir + - hostPath: + path: /etc/kubernetes/ + type: DirectoryOrCreate + name: azure-cred + - hostPath: + path: /mnt + type: DirectoryOrCreate + name: blob-cache +--- diff --git a/deploy/v1.22.8/kustomization.yaml b/deploy/v1.22.8/kustomization.yaml new file mode 100644 index 000000000..8b7f5fcac --- /dev/null +++ b/deploy/v1.22.8/kustomization.yaml @@ -0,0 +1,10 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - csi-blob-controller.yaml + - csi-blob-driver.yaml + - csi-blob-node.yaml + - rbac-csi-blob-controller.yaml + - rbac-csi-blob-node.yaml + - blobfuse-proxy.yaml diff --git a/deploy/v1.22.8/rbac-csi-blob-controller.yaml b/deploy/v1.22.8/rbac-csi-blob-controller.yaml new file mode 100644 index 000000000..89c2f1f38 --- /dev/null +++ b/deploy/v1.22.8/rbac-csi-blob-controller.yaml @@ -0,0 +1,108 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-controller-sa + namespace: kube-system +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-provisioner-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "create", "delete"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch", "update"] + - apiGroups: ["storage.k8s.io"] + resources: ["storageclasses"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["get", "list", "watch", "create", "update", "patch"] + - apiGroups: ["storage.k8s.io"] + resources: ["csinodes"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["nodes"] + verbs: ["get", "list", "watch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-provisioner-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-provisioner-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-external-resizer-role +rules: + - apiGroups: [""] + resources: ["persistentvolumes"] + verbs: ["get", "list", "watch", "update", "patch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims"] + verbs: ["get", "list", "watch"] + - apiGroups: [""] + resources: ["persistentvolumeclaims/status"] + verbs: ["update", "patch"] + - apiGroups: [""] + resources: ["events"] + verbs: ["list", "watch", "create", "update", "patch"] + - apiGroups: ["coordination.k8s.io"] + resources: ["leases"] + verbs: ["get", "list", "watch", "create", "update", "patch"] +--- + +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: blob-csi-resizer-role +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: blob-external-resizer-role + apiGroup: rbac.authorization.k8s.io +--- + +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get", "create"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-controller-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-controller-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-controller-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/deploy/v1.22.8/rbac-csi-blob-node.yaml b/deploy/v1.22.8/rbac-csi-blob-node.yaml new file mode 100644 index 000000000..ce06d862c --- /dev/null +++ b/deploy/v1.22.8/rbac-csi-blob-node.yaml @@ -0,0 +1,30 @@ +--- +apiVersion: v1 +kind: ServiceAccount +metadata: + name: csi-blob-node-sa + namespace: kube-system + +--- +kind: ClusterRole +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-role +rules: + - apiGroups: [""] + resources: ["secrets"] + verbs: ["get"] + +--- +kind: ClusterRoleBinding +apiVersion: rbac.authorization.k8s.io/v1 +metadata: + name: csi-blob-node-secret-binding +subjects: + - kind: ServiceAccount + name: csi-blob-node-sa + namespace: kube-system +roleRef: + kind: ClusterRole + name: csi-blob-node-secret-role + apiGroup: rbac.authorization.k8s.io diff --git a/docs/install-blob-csi-driver.md b/docs/install-blob-csi-driver.md index 4e3af54ee..7b083f126 100644 --- a/docs/install-blob-csi-driver.md +++ b/docs/install-blob-csi-driver.md @@ -4,6 +4,6 @@ > - please use helm install method for more customization, e.g. Azure Stack, RedHat OpenShift support. > - [install CSI driver master version](./install-csi-driver-master.md) (only for testing purpose) - - [install v1.22.7 CSI driver](./install-csi-driver-v1.22.7.md) + - [install v1.22.8 CSI driver](./install-csi-driver-v1.22.8.md) - [install v1.21.2 CSI driver](./install-csi-driver-v1.21.2.md) - [install v1.20.2 CSI driver](./install-csi-driver-v1.20.2.md) diff --git a/docs/install-csi-driver-v1.22.8.md b/docs/install-csi-driver-v1.22.8.md new file mode 100644 index 000000000..98b8efde4 --- /dev/null +++ b/docs/install-csi-driver-v1.22.8.md @@ -0,0 +1,47 @@ +# Install Azure Blob Storage CSI driver v1.22.8 version on a kubernetes cluster +> `blobfuse-proxy` is only available for debian based agent nodes, remove `blobfuse-proxy` parameter in installation steps if it's not applicable. +> +If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md). + +## Install with kubectl + - Option#1. remote install +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.22.8/deploy/install-driver.sh | bash -s v1.22.8 blobfuse-proxy -- +``` + + - Option#2. local install +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +./deploy/install-driver.sh v1.22.8 local,blobfuse-proxy +``` + +- check pods status: +```console +kubectl -n kube-system get pod -o wide -l app=csi-blob-controller +kubectl -n kube-system get pod -o wide -l app=csi-blob-node +``` + +example output: + +```console +NAME READY STATUS RESTARTS AGE IP NODE +csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0 +csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1 +csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0 +``` + +### clean up Blob CSI driver +- Option#1. remote uninstall +```console +curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.22.8/deploy/uninstall-driver.sh | bash -s v1.22.8 -- +``` + + - Option#2. local uninstall +```console +git clone https://github.com/kubernetes-sigs/blob-csi-driver.git +cd blob-csi-driver +git checkout v1.22.8 +./deploy/uninstall-driver.sh v1.22.8 local +```