Skip to content

Commit 9ff69b4

Browse files
authoredMar 21, 2025··
Merge pull request #1901 from andyzhangx/cut-v1.26.1
doc: cut v1.26.1 release
2 parents 9d13a6e + 88e0771 commit 9ff69b4

30 files changed

+1740
-54
lines changed
 

Diff for: ‎Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ GIT_COMMIT ?= $(shell git rev-parse HEAD)
1717
REGISTRY ?= andyzhangx
1818
REGISTRY_NAME ?= $(shell echo $(REGISTRY) | sed "s/.azurecr.io//g")
1919
IMAGE_NAME ?= blob-csi
20-
IMAGE_VERSION ?= v1.26.0
20+
IMAGE_VERSION ?= v1.26.1
2121
CLOUD ?= AzurePublicCloud
2222
# Use a custom version for E2E tests if we are in Prow
2323
ifdef CI

Diff for: ‎README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ Disclaimer: Deploying this driver manually is not an officially supported Micros
1919
|driver version |Image | supported k8s version |
2020
|----------------|------------------------------------------------------|-----------------------|
2121
|master branch |mcr.microsoft.com/k8s/csi/blob-csi:latest | 1.21+ |
22-
|v1.26.0 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.0 | 1.21+ |
22+
|v1.26.1 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1 | 1.21+ |
2323
|v1.25.1 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.25.1 | 1.21+ |
2424
|v1.24.6 |mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.24.6 | 1.21+ |
2525

Diff for: ‎charts/README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
### install a specific version
2222
```console
2323
helm repo add blob-csi-driver https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts
24-
helm install blob-csi-driver blob-csi-driver/blob-csi-driver --set node.enableBlobfuseProxy=true --namespace kube-system --version 1.25.1
24+
helm install blob-csi-driver blob-csi-driver/blob-csi-driver --set node.enableBlobfuseProxy=true --namespace kube-system --version 1.26.1
2525
```
2626

2727
## install on Azure Stack

Diff for: ‎charts/index.yaml

+61-43
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,36 @@
11
apiVersion: v1
22
entries:
33
blob-csi-driver:
4+
- apiVersion: v1
5+
appVersion: 1.26.1
6+
created: "2025-03-20T13:48:16.933363662Z"
7+
description: Azure Blob Storage CSI driver
8+
digest: 9beab65ce119f3d41963f985ad8f3811c3e3042ecb783ace951172f93ea319d9
9+
name: blob-csi-driver
10+
urls:
11+
- https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.26.1/blob-csi-driver-1.26.1.tgz
12+
version: 1.26.1
13+
- apiVersion: v1
14+
appVersion: 1.26.1
15+
created: "2025-03-20T13:48:16.903181426Z"
16+
description: Azure Blob Storage CSI driver
17+
digest: 17bd6e84d8fa511ff01ca48c0368ccdbe9ec499694c69e94fd7e0144791c6652
18+
name: blob-csi-driver
19+
urls:
20+
- https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/latest/blob-csi-driver-1.26.1.tgz
21+
version: 1.26.1
422
- apiVersion: v1
523
appVersion: 1.26.0
6-
created: "2025-03-09T02:22:40.542063435Z"
24+
created: "2025-03-20T13:48:16.932391263Z"
725
description: Azure Blob Storage CSI driver
8-
digest: 46e3cb89791a367e4dc422266a9d94c24f3a77a7a4c5b2ed5c07f863eb36d69e
26+
digest: 54a2fb724e318acf6c85b6ee6f405b5d403d9340a56b9b36d596bbe63ddf37c3
927
name: blob-csi-driver
1028
urls:
1129
- https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.26.0/blob-csi-driver-1.26.0.tgz
1230
version: 1.26.0
1331
- apiVersion: v1
1432
appVersion: 1.25.1
15-
created: "2025-03-09T02:22:40.54134059Z"
33+
created: "2025-03-20T13:48:16.931759541Z"
1634
description: Azure Blob Storage CSI driver
1735
digest: 2d546ab7f2f365ddbc10667e2385773d5a3ac1465161fb7ca4fcc1c2baf1c0b8
1836
name: blob-csi-driver
@@ -21,7 +39,7 @@ entries:
2139
version: 1.25.1
2240
- apiVersion: v1
2341
appVersion: 1.25.0
24-
created: "2025-03-09T02:22:40.540100866Z"
42+
created: "2025-03-20T13:48:16.931082525Z"
2543
description: Azure Blob Storage CSI driver
2644
digest: de80f1865c1d95134dfc35faaa2c143c09957e3de6e07196aac5a54529fde9a6
2745
name: blob-csi-driver
@@ -30,7 +48,7 @@ entries:
3048
version: 1.25.0
3149
- apiVersion: v1
3250
appVersion: v1.24.6
33-
created: "2025-03-09T02:22:40.539079596Z"
51+
created: "2025-03-20T13:48:16.93045437Z"
3452
description: Azure Blob Storage CSI driver
3553
digest: 5325f237fabfc4a2bfaa8271fb6ffc638b4afc97ad12992c5cd7ccb055a9fa27
3654
name: blob-csi-driver
@@ -39,7 +57,7 @@ entries:
3957
version: v1.24.6
4058
- apiVersion: v1
4159
appVersion: v1.24.5
42-
created: "2025-03-09T02:22:40.538412548Z"
60+
created: "2025-03-20T13:48:16.929822683Z"
4361
description: Azure Blob Storage CSI driver
4462
digest: d8271336dabc6957f287488f97bc7189f1134d94f8a720359762c1adb24bb8cf
4563
name: blob-csi-driver
@@ -48,7 +66,7 @@ entries:
4866
version: v1.24.5
4967
- apiVersion: v1
5068
appVersion: v1.24.3
51-
created: "2025-03-09T02:22:40.537767058Z"
69+
created: "2025-03-20T13:48:16.929186414Z"
5270
description: Azure Blob Storage CSI driver
5371
digest: d8fac26124eaa218c4e3aeb187b8204c5266b4e4a3fca0df39e76376e846c8d8
5472
name: blob-csi-driver
@@ -57,7 +75,7 @@ entries:
5775
version: v1.24.3
5876
- apiVersion: v1
5977
appVersion: v1.24.2
60-
created: "2025-03-09T02:22:40.53714047Z"
78+
created: "2025-03-20T13:48:16.928530437Z"
6179
description: Azure Blob Storage CSI driver
6280
digest: 36567735f655d0c11a2b0247421a85577e5badd0a9413785075b29b58e2b049a
6381
name: blob-csi-driver
@@ -66,7 +84,7 @@ entries:
6684
version: v1.24.2
6785
- apiVersion: v1
6886
appVersion: v1.24.1
69-
created: "2025-03-09T02:22:40.53649875Z"
87+
created: "2025-03-20T13:48:16.927830732Z"
7088
description: Azure Blob Storage CSI driver
7189
digest: d4d98037428523005015a3f62441a7665b8a4126d39f7f0d563c474387edef0b
7290
name: blob-csi-driver
@@ -75,7 +93,7 @@ entries:
7593
version: v1.24.1
7694
- apiVersion: v1
7795
appVersion: v1.24.0
78-
created: "2025-03-09T02:22:40.535828383Z"
96+
created: "2025-03-20T13:48:16.926569115Z"
7997
description: Azure Blob Storage CSI driver
8098
digest: 183f724b7d67bf336de373b0e5ac22a50af63e42ff0e26ad73a7c11fd0ec6bfc
8199
name: blob-csi-driver
@@ -84,7 +102,7 @@ entries:
84102
version: v1.24.0
85103
- apiVersion: v1
86104
appVersion: v1.23.10
87-
created: "2025-03-09T02:22:40.530720669Z"
105+
created: "2025-03-20T13:48:16.922526435Z"
88106
description: Azure Blob Storage CSI driver
89107
digest: 945952507f26b8ea1e77ceb07fe1be8504a67a838708c282605491bdb7f8375d
90108
name: blob-csi-driver
@@ -93,7 +111,7 @@ entries:
93111
version: v1.23.10
94112
- apiVersion: v1
95113
appVersion: v1.23.9
96-
created: "2025-03-09T02:22:40.535131502Z"
114+
created: "2025-03-20T13:48:16.92567408Z"
97115
description: Azure Blob Storage CSI driver
98116
digest: cb3b402c2ea03f71a7d57ae8f2d92181664489d4dd8f6130314f6dbd791871ab
99117
name: blob-csi-driver
@@ -102,7 +120,7 @@ entries:
102120
version: v1.23.9
103121
- apiVersion: v1
104122
appVersion: v1.23.7
105-
created: "2025-03-09T02:22:40.534402882Z"
123+
created: "2025-03-20T13:48:16.925055403Z"
106124
description: Azure Blob Storage CSI driver
107125
digest: 95f9e01cec77cda71ba7f556cf00ba377270df264aa11caf3d99062d959c8e66
108126
name: blob-csi-driver
@@ -111,7 +129,7 @@ entries:
111129
version: v1.23.7
112130
- apiVersion: v1
113131
appVersion: v1.23.4
114-
created: "2025-03-09T02:22:40.532723416Z"
132+
created: "2025-03-20T13:48:16.924419418Z"
115133
description: Azure Blob Storage CSI driver
116134
digest: 3ce2ee0c9255ebbd004fcdb9f3e5eb702b2203182eb7046754c9b2244c417b02
117135
name: blob-csi-driver
@@ -120,7 +138,7 @@ entries:
120138
version: v1.23.4
121139
- apiVersion: v1
122140
appVersion: v1.23.3
123-
created: "2025-03-09T02:22:40.532075992Z"
141+
created: "2025-03-20T13:48:16.923801908Z"
124142
description: Azure Blob Storage CSI driver
125143
digest: 55b2f47774558d16dec5c93655e5625634e35424466c10244fabd471c9b2a5c6
126144
name: blob-csi-driver
@@ -129,7 +147,7 @@ entries:
129147
version: v1.23.3
130148
- apiVersion: v1
131149
appVersion: v1.23.2
132-
created: "2025-03-09T02:22:40.531404709Z"
150+
created: "2025-03-20T13:48:16.923154351Z"
133151
description: Azure Blob Storage CSI driver
134152
digest: d85ba0c55d74c22b2b4cb964d70d8e38ede06f521cc5ca5502f57ed4b52d49f4
135153
name: blob-csi-driver
@@ -138,7 +156,7 @@ entries:
138156
version: v1.23.2
139157
- apiVersion: v1
140158
appVersion: v1.23.1
141-
created: "2025-03-09T02:22:40.530033074Z"
159+
created: "2025-03-20T13:48:16.921885973Z"
142160
description: Azure Blob Storage CSI driver
143161
digest: 66215f12a4e3acdcf09416d817b737e14546058b081a2cfd8bf9ef507229ca07
144162
name: blob-csi-driver
@@ -147,7 +165,7 @@ entries:
147165
version: v1.23.1
148166
- apiVersion: v1
149167
appVersion: v1.23.0
150-
created: "2025-03-09T02:22:40.529390533Z"
168+
created: "2025-03-20T13:48:16.921226885Z"
151169
description: Azure Blob Storage CSI driver
152170
digest: 57151e21e33660522f25694bd8ae985e5e17c7ffe09904ad2af4025e8bf1da72
153171
name: blob-csi-driver
@@ -156,7 +174,7 @@ entries:
156174
version: v1.23.0
157175
- apiVersion: v1
158176
appVersion: v1.22.9
159-
created: "2025-03-09T02:22:40.528739805Z"
177+
created: "2025-03-20T13:48:16.920060638Z"
160178
description: Azure Blob Storage CSI driver
161179
digest: 2ba7025c4c9917e5550b702c205ffd329ccec0a85b6a4fb74a4dc7206fa9ca64
162180
name: blob-csi-driver
@@ -165,7 +183,7 @@ entries:
165183
version: v1.22.9
166184
- apiVersion: v1
167185
appVersion: v1.22.8
168-
created: "2025-03-09T02:22:40.52801515Z"
186+
created: "2025-03-20T13:48:16.919092758Z"
169187
description: Azure Blob Storage CSI driver
170188
digest: a2ab602708e9c3b08d01baa66ffc7937b67119c060b4b90a41bedf15b709313c
171189
name: blob-csi-driver
@@ -174,7 +192,7 @@ entries:
174192
version: v1.22.8
175193
- apiVersion: v1
176194
appVersion: v1.22.6
177-
created: "2025-03-09T02:22:40.526645903Z"
195+
created: "2025-03-20T13:48:16.91845792Z"
178196
description: Azure Blob Storage CSI driver
179197
digest: ef7b5c287fca46351903cb819b3ccc8b8b2021addda87c59bea94d9ed61015a0
180198
name: blob-csi-driver
@@ -183,7 +201,7 @@ entries:
183201
version: v1.22.6
184202
- apiVersion: v1
185203
appVersion: v1.22.5
186-
created: "2025-03-09T02:22:40.525784744Z"
204+
created: "2025-03-20T13:48:16.91782637Z"
187205
description: Azure Blob Storage CSI driver
188206
digest: ff3c2c2e05dd048dd0af3e5c7d002eae2928a5d17fb269a1e4d5cadd30e8ab51
189207
name: blob-csi-driver
@@ -192,7 +210,7 @@ entries:
192210
version: v1.22.5
193211
- apiVersion: v1
194212
appVersion: v1.22.4
195-
created: "2025-03-09T02:22:40.525159618Z"
213+
created: "2025-03-20T13:48:16.917192129Z"
196214
description: Azure Blob Storage CSI driver
197215
digest: 6c38e79d2f50616daac0658cfa5b1a569e6ff8ce8f24ed40f563e87fb1d1340a
198216
name: blob-csi-driver
@@ -201,7 +219,7 @@ entries:
201219
version: v1.22.4
202220
- apiVersion: v1
203221
appVersion: v1.22.3
204-
created: "2025-03-09T02:22:40.524497379Z"
222+
created: "2025-03-20T13:48:16.916584233Z"
205223
description: Azure Blob Storage CSI driver
206224
digest: 6cdee296d22ecd330f477f2ca6da51b07320c546c04ae46c23eef48146b772c1
207225
name: blob-csi-driver
@@ -210,7 +228,7 @@ entries:
210228
version: v1.22.3
211229
- apiVersion: v1
212230
appVersion: v1.22.2
213-
created: "2025-03-09T02:22:40.523860341Z"
231+
created: "2025-03-20T13:48:16.915975637Z"
214232
description: Azure Blob Storage CSI driver
215233
digest: 259e66dc12db7310fe1c51e49c964398e0a6b7d511133916dd7d25f748f0b791
216234
name: blob-csi-driver
@@ -219,7 +237,7 @@ entries:
219237
version: v1.22.2
220238
- apiVersion: v1
221239
appVersion: v1.22.1
222-
created: "2025-03-09T02:22:40.523181636Z"
240+
created: "2025-03-20T13:48:16.91533496Z"
223241
description: Azure Blob Storage CSI driver
224242
digest: 8329d477d55c82f97bb09fb172c5f39a1677bedc13c7410bd93b306194516438
225243
name: blob-csi-driver
@@ -228,7 +246,7 @@ entries:
228246
version: v1.22.1
229247
- apiVersion: v1
230248
appVersion: v1.21.7
231-
created: "2025-03-09T02:22:40.522569763Z"
249+
created: "2025-03-20T13:48:16.914672451Z"
232250
description: Azure Blob Storage CSI driver
233251
digest: 1095721182d611e2556c611dd330758d8130fe66493db4f9189586a9219896d3
234252
name: blob-csi-driver
@@ -237,7 +255,7 @@ entries:
237255
version: v1.21.7
238256
- apiVersion: v1
239257
appVersion: v1.21.6
240-
created: "2025-03-09T02:22:40.521965889Z"
258+
created: "2025-03-20T13:48:16.913286031Z"
241259
description: Azure Blob Storage CSI driver
242260
digest: d5ba1f92795ec45970eb6e5fc54aa13a5684f9936216c064f8a3843bf722bf54
243261
name: blob-csi-driver
@@ -246,7 +264,7 @@ entries:
246264
version: v1.21.6
247265
- apiVersion: v1
248266
appVersion: v1.21.5
249-
created: "2025-03-09T02:22:40.521345357Z"
267+
created: "2025-03-20T13:48:16.912677062Z"
250268
description: Azure Blob Storage CSI driver
251269
digest: b403e9d49abfe076ecd83d6dd50166347ee4305f33dc840019474b2876723b9b
252270
name: blob-csi-driver
@@ -255,7 +273,7 @@ entries:
255273
version: v1.21.5
256274
- apiVersion: v1
257275
appVersion: v1.21.4
258-
created: "2025-03-09T02:22:40.520690579Z"
276+
created: "2025-03-20T13:48:16.912100886Z"
259277
description: Azure Blob Storage CSI driver
260278
digest: e4fa13670caf6b0d3e9fefa55d100daa439cd7187dabd45318ab03c7d4b17710
261279
name: blob-csi-driver
@@ -264,7 +282,7 @@ entries:
264282
version: v1.21.4
265283
- apiVersion: v1
266284
appVersion: v1.20.3
267-
created: "2025-03-09T02:22:40.519981693Z"
285+
created: "2025-03-20T13:48:16.911509581Z"
268286
description: Azure Blob Storage CSI driver
269287
digest: 8c2c20547b2e0e1b39d2f2efd04c1bd778f14af5feae2bda86d722dac3c02643
270288
name: blob-csi-driver
@@ -273,7 +291,7 @@ entries:
273291
version: v1.20.3
274292
- apiVersion: v1
275293
appVersion: v1.19.6
276-
created: "2025-03-09T02:22:40.517836903Z"
294+
created: "2025-03-20T13:48:16.910902852Z"
277295
description: Azure Blob Storage CSI driver
278296
digest: 0007ef225b5658d3989aa6fdc3a91a4b33696a438eee46ad9a675af615cbdf21
279297
name: blob-csi-driver
@@ -282,7 +300,7 @@ entries:
282300
version: v1.19.6
283301
- apiVersion: v1
284302
appVersion: v1.19.5
285-
created: "2025-03-09T02:22:40.517117264Z"
303+
created: "2025-03-20T13:48:16.910326251Z"
286304
description: Azure Blob Storage CSI driver
287305
digest: 183c3e5cd84b709f1455cc7c84ed5bd573e8a24149fd6442d38999835b0a1711
288306
name: blob-csi-driver
@@ -291,7 +309,7 @@ entries:
291309
version: v1.19.5
292310
- apiVersion: v1
293311
appVersion: v1.18.0
294-
created: "2025-03-09T02:22:40.516416387Z"
312+
created: "2025-03-20T13:48:16.909732849Z"
295313
description: Azure Blob Storage CSI driver
296314
digest: 3eac15488da5be7d1e78431929f7cda35bceb1af3fe107ffbd84606e047c9204
297315
name: blob-csi-driver
@@ -300,7 +318,7 @@ entries:
300318
version: v1.18.0
301319
- apiVersion: v1
302320
appVersion: v1.17.0
303-
created: "2025-03-09T02:22:40.515704158Z"
321+
created: "2025-03-20T13:48:16.909145796Z"
304322
description: Azure Blob Storage CSI driver
305323
digest: 22cfa17fc5e8d771ff8edd26729266a9a8ee55c0e150df85ef15698f7fe985e9
306324
name: blob-csi-driver
@@ -309,7 +327,7 @@ entries:
309327
version: v1.17.0
310328
- apiVersion: v1
311329
appVersion: v1.16.0
312-
created: "2025-03-09T02:22:40.514977378Z"
330+
created: "2025-03-20T13:48:16.908508705Z"
313331
description: Azure Blob Storage CSI driver
314332
digest: bf6249c0e3e3d3d009d4c79ceb7fda9a56c0565b969de753628792ea3ea5ece8
315333
name: blob-csi-driver
@@ -318,7 +336,7 @@ entries:
318336
version: v1.16.0
319337
- apiVersion: v1
320338
appVersion: v1.15.0
321-
created: "2025-03-09T02:22:40.514262212Z"
339+
created: "2025-03-20T13:48:16.906908282Z"
322340
description: Azure Blob Storage CSI driver
323341
digest: 8daa35cd4957695cb64b45da05a15b4020df5545a8ac44c4668dad4bba82c8a9
324342
name: blob-csi-driver
@@ -327,7 +345,7 @@ entries:
327345
version: v1.15.0
328346
- apiVersion: v1
329347
appVersion: v1.14.0
330-
created: "2025-03-09T02:22:40.513549855Z"
348+
created: "2025-03-20T13:48:16.906308028Z"
331349
description: Azure Blob Storage CSI driver
332350
digest: 442bc579b231aab626b9e474e2c0ed3f101d47d61c99aa9a7f863af7ce268d9d
333351
name: blob-csi-driver
@@ -336,7 +354,7 @@ entries:
336354
version: v1.14.0
337355
- apiVersion: v1
338356
appVersion: v1.13.0
339-
created: "2025-03-09T02:22:40.512896075Z"
357+
created: "2025-03-20T13:48:16.90571091Z"
340358
description: Azure Blob Storage CSI driver
341359
digest: b577b0b771138109aa90eb09d56fc07273ca0b584a263ee8f789e35796279f31
342360
name: blob-csi-driver
@@ -345,7 +363,7 @@ entries:
345363
version: v1.13.0
346364
- apiVersion: v1
347365
appVersion: v1.12.0
348-
created: "2025-03-09T02:22:40.512264617Z"
366+
created: "2025-03-20T13:48:16.905100114Z"
349367
description: Azure Blob Storage CSI driver
350368
digest: 124e87af2581b374b89a39940698620c23d3eae6dcee518d302461ffea93e9a8
351369
name: blob-csi-driver
@@ -354,7 +372,7 @@ entries:
354372
version: v1.12.0
355373
- apiVersion: v1
356374
appVersion: v1.11.0
357-
created: "2025-03-09T02:22:40.511618151Z"
375+
created: "2025-03-20T13:48:16.904491211Z"
358376
description: Azure Blob Storage CSI driver
359377
digest: 07c4d76017491b3d0bdd70de90e814096938bf7916da0c149c3805294bd57560
360378
name: blob-csi-driver
@@ -363,11 +381,11 @@ entries:
363381
version: v1.11.0
364382
- apiVersion: v1
365383
appVersion: v1.10.0
366-
created: "2025-03-09T02:22:40.510947542Z"
384+
created: "2025-03-20T13:48:16.903865434Z"
367385
description: Azure Blob Storage CSI driver
368386
digest: 79716efa958385adf57eb3570843e1b4512d8c801e8e070625e94264f3e917a9
369387
name: blob-csi-driver
370388
urls:
371389
- https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/master/charts/v1.10.0/blob-csi-driver-v1.10.0.tgz
372390
version: v1.10.0
373-
generated: "2025-03-09T02:22:40.509387505Z"
391+
generated: "2025-03-20T13:48:16.902332473Z"

Diff for: ‎charts/latest/blob-csi-driver-1.26.0.tgz

-6.18 KB
Binary file not shown.

Diff for: ‎charts/latest/blob-csi-driver-1.26.1.tgz

6.18 KB
Binary file not shown.

Diff for: ‎charts/latest/blob-csi-driver/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
apiVersion: v1
2-
appVersion: 1.26.0
2+
appVersion: 1.26.1
33
description: Azure Blob Storage CSI driver
44
name: blob-csi-driver
5-
version: 1.26.0
5+
version: 1.26.1

Diff for: ‎charts/latest/blob-csi-driver/values.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ image:
22
baseRepo: mcr.microsoft.com
33
blob:
44
repository: /oss/kubernetes-csi/blob-csi
5-
tag: v1.26.0
5+
tag: v1.26.1
66
pullPolicy: IfNotPresent
77
csiProvisioner:
88
repository: /oss/kubernetes-csi/csi-provisioner

Diff for: ‎charts/v1.26.1/blob-csi-driver-1.26.1.tgz

6.19 KB
Binary file not shown.

Diff for: ‎charts/v1.26.1/blob-csi-driver/Chart.yaml

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v1
2+
appVersion: 1.26.1
3+
description: Azure Blob Storage CSI driver
4+
name: blob-csi-driver
5+
version: 1.26.1

Diff for: ‎charts/v1.26.1/blob-csi-driver/templates/NOTES.txt

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
The Azure Blob Storage CSI driver is getting deployed to your cluster.
2+
3+
To check Azure Blob Storage CSI driver pods status, please run:
4+
5+
kubectl --namespace={{ .Release.Namespace }} get pods --selector="app.kubernetes.io/name={{ .Release.Name }}" --watch
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{{/* vim: set filetype=mustache: */}}
2+
3+
{{/* Expand the name of the chart.*/}}
4+
{{- define "blob.name" -}}
5+
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
6+
{{- end -}}
7+
8+
{{/*
9+
Create chart name and version as used by the chart label.
10+
*/}}
11+
{{- define "blob.chart" -}}
12+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
13+
{{- end -}}
14+
15+
{{/*
16+
Common selectors.
17+
*/}}
18+
{{- define "blob.selectorLabels" -}}
19+
app.kubernetes.io/name: {{ template "blob.name" . }}
20+
app.kubernetes.io/instance: {{ .Release.Name }}
21+
{{- end -}}
22+
23+
{{/*
24+
Common labels.
25+
*/}}
26+
{{- define "blob.labels" -}}
27+
{{- include "blob.selectorLabels" . }}
28+
app.kubernetes.io/component: csi-driver
29+
app.kubernetes.io/part-of: {{ template "blob.name" . }}
30+
app.kubernetes.io/managed-by: {{ .Release.Service }}
31+
{{- if .Chart.AppVersion }}
32+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
33+
{{- end }}
34+
helm.sh/chart: {{ template "blob.chart" . }}
35+
{{- if .Values.customLabels }}
36+
{{ toYaml .Values.customLabels }}
37+
{{- end }}
38+
{{- end -}}
39+
40+
41+
{{/* pull secrets for containers */}}
42+
{{- define "blob.pullSecrets" -}}
43+
{{- if .Values.imagePullSecrets }}
44+
imagePullSecrets:
45+
{{- range .Values.imagePullSecrets }}
46+
- name: {{ . }}
47+
{{- end }}
48+
{{- end }}
49+
{{- end -}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,259 @@
1+
kind: Deployment
2+
apiVersion: apps/v1
3+
metadata:
4+
name: {{ .Values.controller.name }}
5+
namespace: {{ .Release.Namespace }}
6+
labels:
7+
app: {{ .Values.controller.name }}
8+
{{- include "blob.labels" . | nindent 4 }}
9+
spec:
10+
replicas: {{ .Values.controller.replicas }}
11+
selector:
12+
matchLabels:
13+
app: {{ .Values.controller.name }}
14+
{{- include "blob.selectorLabels" . | nindent 6 }}
15+
template:
16+
metadata:
17+
labels:
18+
app: {{ .Values.controller.name }}
19+
{{- include "blob.labels" . | nindent 8 }}
20+
{{- if .Values.workloadIdentity.clientID }}
21+
azure.workload.identity/use: "true"
22+
{{- end }}
23+
{{- if .Values.podLabels }}
24+
{{- toYaml .Values.podLabels | nindent 8 }}
25+
{{- end }}
26+
{{- if .Values.podAnnotations }}
27+
annotations:
28+
{{ toYaml .Values.podAnnotations | indent 8 }}
29+
{{- end }}
30+
spec:
31+
{{- if .Values.imagePullSecrets }}
32+
imagePullSecrets:
33+
{{ toYaml .Values.imagePullSecrets | indent 8 }}
34+
{{- end }}
35+
hostNetwork: {{ .Values.controller.hostNetwork }}
36+
serviceAccountName: {{ .Values.serviceAccount.controller }}
37+
nodeSelector:
38+
kubernetes.io/os: linux
39+
# runOnControlPlane=true or runOnMaster=true only takes effect if affinity is not set
40+
{{- if tpl "{{ .Values.controller.affinity }}" . | contains "nodeSelectorTerms" }}
41+
{{- with .Values.controller.affinity }}
42+
affinity:
43+
{{ toYaml . | indent 8 }}
44+
{{- end }}
45+
{{- else if or .Values.controller.runOnControlPlane .Values.controller.runOnMaster}}
46+
affinity:
47+
nodeAffinity:
48+
requiredDuringSchedulingIgnoredDuringExecution:
49+
nodeSelectorTerms:
50+
- matchExpressions:
51+
{{- if .Values.controller.runOnControlPlane}}
52+
- key: node-role.kubernetes.io/control-plane
53+
operator: Exists
54+
{{- end}}
55+
{{- if .Values.controller.runOnMaster}}
56+
- key: node-role.kubernetes.io/master
57+
operator: Exists
58+
{{- end}}
59+
{{- end }}
60+
{{- with .Values.controller.nodeSelector }}
61+
{{ toYaml . | indent 8 }}
62+
{{- end }}
63+
priorityClassName: {{ .Values.priorityClassName | quote }}
64+
securityContext:
65+
seccompProfile:
66+
type: RuntimeDefault
67+
{{- with .Values.controller.tolerations }}
68+
tolerations:
69+
{{ toYaml . | indent 8 }}
70+
{{- end }}
71+
containers:
72+
- name: csi-provisioner
73+
{{- if hasPrefix "/" .Values.image.csiProvisioner.repository }}
74+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
75+
{{- else }}
76+
image: "{{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}"
77+
{{- end }}
78+
args:
79+
- "-v=2"
80+
- "--csi-address=$(ADDRESS)"
81+
- "--leader-election"
82+
- "--leader-election-namespace={{ .Release.Namespace }}"
83+
- "--timeout=1200s"
84+
- "--extra-create-metadata=true"
85+
- "--kube-api-qps=50"
86+
- "--kube-api-burst=100"
87+
- "--feature-gates=HonorPVReclaimPolicy=true"
88+
- "--retry-interval-max=30m"
89+
env:
90+
- name: ADDRESS
91+
value: /csi/csi.sock
92+
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
93+
volumeMounts:
94+
- mountPath: /csi
95+
name: socket-dir
96+
resources: {{- toYaml .Values.controller.resources.csiProvisioner | nindent 12 }}
97+
securityContext:
98+
capabilities:
99+
drop:
100+
- ALL
101+
- name: liveness-probe
102+
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
103+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
104+
{{- else }}
105+
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
106+
{{- end }}
107+
args:
108+
- --csi-address=/csi/csi.sock
109+
- --probe-timeout=3s
110+
{{- if eq .Values.controller.hostNetwork true }}
111+
- --http-endpoint=localhost:{{ .Values.controller.livenessProbe.healthPort }}
112+
{{- else }}
113+
- --health-port={{ .Values.controller.livenessProbe.healthPort }}
114+
{{- end }}
115+
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
116+
volumeMounts:
117+
- name: socket-dir
118+
mountPath: /csi
119+
resources: {{- toYaml .Values.controller.resources.livenessProbe | nindent 12 }}
120+
securityContext:
121+
capabilities:
122+
drop:
123+
- ALL
124+
- name: blob
125+
{{- if hasPrefix "/" .Values.image.blob.repository }}
126+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
127+
{{- else }}
128+
image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
129+
{{- end }}
130+
args:
131+
- "--v={{ .Values.controller.logLevel }}"
132+
- "--endpoint=$(CSI_ENDPOINT)"
133+
- "--metrics-address=0.0.0.0:{{ .Values.controller.metricsPort }}"
134+
- "--drivername={{ .Values.driver.name }}"
135+
- "--custom-user-agent={{ .Values.driver.customUserAgent }}"
136+
- "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}"
137+
- "--cloud-config-secret-name={{ .Values.controller.cloudConfigSecretName }}"
138+
- "--cloud-config-secret-namespace={{ .Values.controller.cloudConfigSecretNamespace }}"
139+
- "--allow-empty-cloud-config={{ .Values.controller.allowEmptyCloudConfig }}"
140+
ports:
141+
- containerPort: {{ .Values.controller.metricsPort }}
142+
name: metrics
143+
protocol: TCP
144+
{{- if ne .Values.controller.hostNetwork true }}
145+
- containerPort: {{ .Values.controller.livenessProbe.healthPort }}
146+
name: healthz
147+
protocol: TCP
148+
{{- end }}
149+
livenessProbe:
150+
failureThreshold: 5
151+
httpGet:
152+
path: /healthz
153+
{{- if eq .Values.controller.hostNetwork true }}
154+
host: localhost
155+
port: {{ .Values.controller.livenessProbe.healthPort }}
156+
{{- else }}
157+
port: healthz
158+
{{- end }}
159+
initialDelaySeconds: 30
160+
timeoutSeconds: 10
161+
periodSeconds: 30
162+
env:
163+
- name: AZURE_CREDENTIAL_FILE
164+
valueFrom:
165+
configMapKeyRef:
166+
name: azure-cred-file
167+
key: path
168+
optional: true
169+
- name: CSI_ENDPOINT
170+
value: unix:///csi/csi.sock
171+
{{- if ne .Values.driver.httpsProxy "" }}
172+
- name: HTTPS_PROXY
173+
value: {{ .Values.driver.httpsProxy }}
174+
{{- end }}
175+
{{- if ne .Values.driver.httpProxy "" }}
176+
- name: HTTP_PROXY
177+
value: {{ .Values.driver.httpProxy }}
178+
{{- end }}
179+
- name: AZURE_GO_SDK_LOG_LEVEL
180+
value: {{ .Values.driver.azureGoSDKLogLevel }}
181+
{{- if eq .Values.cloud "AzureStackCloud" }}
182+
- name: AZURE_ENVIRONMENT_FILEPATH
183+
value: /etc/kubernetes/azurestackcloud.json
184+
{{- end }}
185+
- name: AZCOPY_CONCURRENCY_VALUE
186+
value: "10"
187+
- name: AZCOPY_CONCURRENT_FILES
188+
value: "20"
189+
- name: AZCOPY_BUFFER_GB
190+
value: "1"
191+
imagePullPolicy: {{ .Values.image.blob.pullPolicy }}
192+
volumeMounts:
193+
- mountPath: /csi
194+
name: socket-dir
195+
- mountPath: /root/.azcopy
196+
name: azcopy-dir
197+
- mountPath: /etc/kubernetes/
198+
name: azure-cred
199+
{{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }}
200+
- name: ssl
201+
mountPath: /etc/ssl/certs
202+
readOnly: true
203+
{{- end }}
204+
{{- if eq .Values.linux.distro "fedora" }}
205+
- name: ssl-pki
206+
mountPath: /etc/pki/ca-trust/extracted
207+
readOnly: true
208+
{{- end }}
209+
resources: {{- toYaml .Values.controller.resources.blob | nindent 12 }}
210+
securityContext:
211+
capabilities:
212+
drop:
213+
- ALL
214+
- name: csi-resizer
215+
{{- if hasPrefix "/" .Values.image.csiResizer.repository }}
216+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}"
217+
{{- else }}
218+
image: "{{ .Values.image.csiResizer.repository }}:{{ .Values.image.csiResizer.tag }}"
219+
{{- end }}
220+
args:
221+
- "-csi-address=$(ADDRESS)"
222+
- "-v=2"
223+
- "-leader-election"
224+
- "--leader-election-namespace={{ .Release.Namespace }}"
225+
- '-handle-volume-inuse-error=false'
226+
env:
227+
- name: ADDRESS
228+
value: /csi/csi.sock
229+
imagePullPolicy: {{ .Values.image.csiResizer.pullPolicy }}
230+
volumeMounts:
231+
- name: socket-dir
232+
mountPath: /csi
233+
resources: {{- toYaml .Values.controller.resources.csiResizer | nindent 12 }}
234+
securityContext:
235+
capabilities:
236+
drop:
237+
- ALL
238+
volumes:
239+
- name: socket-dir
240+
emptyDir: {}
241+
- name: azcopy-dir
242+
emptyDir: {}
243+
- name: azure-cred
244+
hostPath:
245+
path: /etc/kubernetes/
246+
type: DirectoryOrCreate
247+
{{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }}
248+
- name: ssl
249+
hostPath:
250+
path: /etc/ssl/certs
251+
{{- end }}
252+
{{- if eq .Values.linux.distro "fedora" }}
253+
- name: ssl-pki
254+
hostPath:
255+
path: /etc/pki/ca-trust/extracted
256+
{{- end }}
257+
{{- if .Values.securityContext }}
258+
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
259+
{{- end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
apiVersion: storage.k8s.io/v1
3+
kind: CSIDriver
4+
metadata:
5+
name: {{ .Values.driver.name }}
6+
labels:
7+
{{- include "blob.labels" . | nindent 4 }}
8+
spec:
9+
attachRequired: false
10+
podInfoOnMount: true
11+
fsGroupPolicy: {{ .Values.feature.fsGroupPolicy }}
12+
volumeLifecycleModes:
13+
- Persistent
14+
- Ephemeral
15+
tokenRequests:
16+
- audience: api://AzureADTokenExchange
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,337 @@
1+
kind: DaemonSet
2+
apiVersion: apps/v1
3+
metadata:
4+
name: {{ .Values.node.name }}
5+
namespace: {{ .Release.Namespace }}
6+
labels:
7+
app: {{ .Values.node.name }}
8+
{{- include "blob.labels" . | nindent 4 }}
9+
spec:
10+
updateStrategy:
11+
rollingUpdate:
12+
maxUnavailable: {{ .Values.node.maxUnavailable }}
13+
type: RollingUpdate
14+
selector:
15+
matchLabels:
16+
app: {{ .Values.node.name }}
17+
{{- include "blob.selectorLabels" . | nindent 6 }}
18+
template:
19+
metadata:
20+
labels:
21+
app: {{ .Values.node.name }}
22+
{{- include "blob.labels" . | nindent 8 }}
23+
{{- if .Values.workloadIdentity.clientID }}
24+
azure.workload.identity/use: "true"
25+
{{- end }}
26+
{{- if .Values.podLabels }}
27+
{{- toYaml .Values.podLabels | nindent 8 }}
28+
{{- end }}
29+
{{- if .Values.podAnnotations }}
30+
annotations:
31+
{{ toYaml .Values.podAnnotations | indent 8 }}
32+
{{- end }}
33+
spec:
34+
{{- if .Values.imagePullSecrets }}
35+
imagePullSecrets:
36+
{{ toYaml .Values.imagePullSecrets | indent 8 }}
37+
{{- end }}
38+
{{- if or .Values.node.enableBlobfuseProxy .Values.node.enableAznfsMount }}
39+
hostPID: true
40+
{{- end }}
41+
hostNetwork: true
42+
dnsPolicy: Default
43+
serviceAccountName: {{ .Values.serviceAccount.node }}
44+
nodeSelector:
45+
kubernetes.io/os: linux
46+
{{- with .Values.node.nodeSelector }}
47+
{{ toYaml . | indent 8 }}
48+
{{- end }}
49+
affinity:
50+
nodeAffinity:
51+
requiredDuringSchedulingIgnoredDuringExecution:
52+
nodeSelectorTerms:
53+
- matchExpressions:
54+
- key: type
55+
operator: NotIn
56+
values:
57+
- virtual-kubelet
58+
{{- if .Values.node.affinity }}
59+
{{- toYaml .Values.node.affinity | nindent 8 }}
60+
{{- end }}
61+
priorityClassName: {{ .Values.priorityClassName | quote }}
62+
securityContext:
63+
seccompProfile:
64+
type: RuntimeDefault
65+
{{- with .Values.node.tolerations }}
66+
tolerations:
67+
{{ toYaml . | indent 8 }}
68+
{{- end }}
69+
initContainers:
70+
- name: install-blobfuse-proxy
71+
{{- if hasPrefix "/" .Values.image.blob.repository }}
72+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
73+
{{- else }}
74+
image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
75+
{{- end }}
76+
imagePullPolicy: IfNotPresent
77+
command:
78+
- "/blobfuse-proxy/init.sh"
79+
securityContext:
80+
privileged: true
81+
capabilities:
82+
drop:
83+
- ALL
84+
env:
85+
- name: DEBIAN_FRONTEND
86+
value: "noninteractive"
87+
- name: INSTALL_BLOBFUSE
88+
value: "{{ .Values.node.blobfuseProxy.installBlobfuse }}"
89+
- name: BLOBFUSE_VERSION
90+
value: "{{ .Values.node.blobfuseProxy.blobfuseVersion }}"
91+
- name: INSTALL_BLOBFUSE2
92+
value: "{{ .Values.node.blobfuseProxy.installBlobfuse2 }}"
93+
- name: BLOBFUSE2_VERSION
94+
value: "{{ .Values.node.blobfuseProxy.blobfuse2Version }}"
95+
- name: INSTALL_BLOBFUSE_PROXY
96+
value: "{{ .Values.node.enableBlobfuseProxy }}"
97+
- name: SET_MAX_OPEN_FILE_NUM
98+
value: "{{ .Values.node.blobfuseProxy.setMaxOpenFileNum }}"
99+
- name: MAX_FILE_NUM
100+
value: "{{ .Values.node.blobfuseProxy.maxOpenFileNum }}"
101+
- name: DISABLE_UPDATEDB
102+
value: "{{ .Values.node.blobfuseProxy.disableUpdateDB }}"
103+
- name: KUBELET_PATH
104+
value: "{{ .Values.linux.kubelet }}"
105+
- name: MIGRATE_K8S_REPO
106+
value: "{{ .Values.node.blobfuseProxy.migrateK8sRepo }}"
107+
- name: SET_READ_AHEAD_SIZE
108+
value: "{{ .Values.node.blobfuseProxy.setReadAheadSize }}"
109+
volumeMounts:
110+
- name: host-usr
111+
mountPath: /host/usr
112+
- name: host-usr-local
113+
mountPath: /host/usr/local
114+
- name: host-etc
115+
mountPath: /host/etc
116+
containers:
117+
- name: liveness-probe
118+
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
119+
volumeMounts:
120+
- mountPath: /csi
121+
name: socket-dir
122+
{{- if hasPrefix "/" .Values.image.livenessProbe.repository }}
123+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
124+
{{- else }}
125+
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
126+
{{- end }}
127+
args:
128+
- --csi-address=/csi/csi.sock
129+
- --probe-timeout=10s
130+
- --http-endpoint=localhost:{{ .Values.node.livenessProbe.healthPort }}
131+
- --v=2
132+
resources: {{- toYaml .Values.node.resources.livenessProbe | nindent 12 }}
133+
securityContext:
134+
capabilities:
135+
drop:
136+
- ALL
137+
- name: node-driver-registrar
138+
{{- if hasPrefix "/" .Values.image.nodeDriverRegistrar.repository }}
139+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
140+
{{- else }}
141+
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
142+
{{- end }}
143+
args:
144+
- --csi-address=$(ADDRESS)
145+
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
146+
- --v=2
147+
env:
148+
- name: ADDRESS
149+
value: /csi/csi.sock
150+
- name: DRIVER_REG_SOCK_PATH
151+
value: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}/csi.sock
152+
volumeMounts:
153+
- name: socket-dir
154+
mountPath: /csi
155+
- name: registration-dir
156+
mountPath: /registration
157+
resources: {{- toYaml .Values.node.resources.nodeDriverRegistrar | nindent 12 }}
158+
securityContext:
159+
capabilities:
160+
drop:
161+
- ALL
162+
- name: blob
163+
{{- if hasPrefix "/" .Values.image.blob.repository }}
164+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
165+
{{- else }}
166+
image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
167+
{{- end }}
168+
args:
169+
- "--v={{ .Values.node.logLevel }}"
170+
- "--endpoint=$(CSI_ENDPOINT)"
171+
- "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)"
172+
- "--enable-blobfuse-proxy={{ .Values.node.enableBlobfuseProxy }}"
173+
- "--nodeid=$(KUBE_NODE_NAME)"
174+
- "--drivername={{ .Values.driver.name }}"
175+
- "--cloud-config-secret-name={{ .Values.node.cloudConfigSecretName }}"
176+
- "--cloud-config-secret-namespace={{ .Values.node.cloudConfigSecretNamespace }}"
177+
- "--custom-user-agent={{ .Values.driver.customUserAgent }}"
178+
- "--user-agent-suffix={{ .Values.driver.userAgentSuffix }}"
179+
- "--allow-empty-cloud-config={{ .Values.node.allowEmptyCloudConfig }}"
180+
- "--enable-get-volume-stats={{ .Values.feature.enableGetVolumeStats }}"
181+
- "--append-timestamp-cache-dir={{ .Values.node.appendTimeStampInCacheDir }}"
182+
- "--mount-permissions={{ .Values.node.mountPermissions }}"
183+
- "--allow-inline-volume-key-access-with-idenitity={{ .Values.node.allowInlineVolumeKeyAccessWithIdentity }}"
184+
- "--enable-aznfs-mount={{ .Values.node.enableAznfsMount }}"
185+
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
186+
ports:
187+
- containerPort: {{ .Values.node.metricsPort }}
188+
name: metrics
189+
protocol: TCP
190+
livenessProbe:
191+
failureThreshold: 5
192+
httpGet:
193+
host: localhost
194+
path: /healthz
195+
port: {{ .Values.node.livenessProbe.healthPort }}
196+
initialDelaySeconds: 30
197+
timeoutSeconds: 30
198+
periodSeconds: 30
199+
env:
200+
- name: AZURE_CREDENTIAL_FILE
201+
valueFrom:
202+
configMapKeyRef:
203+
name: azure-cred-file
204+
key: path
205+
optional: true
206+
- name: CSI_ENDPOINT
207+
value: unix:///csi/csi.sock
208+
- name: BLOBFUSE_PROXY_ENDPOINT
209+
value: unix:///csi/blobfuse-proxy.sock
210+
{{- if ne .Values.driver.httpsProxy "" }}
211+
- name: HTTPS_PROXY
212+
value: {{ .Values.driver.httpsProxy }}
213+
{{- end }}
214+
{{- if ne .Values.driver.httpProxy "" }}
215+
- name: HTTP_PROXY
216+
value: {{ .Values.driver.httpProxy }}
217+
{{- end }}
218+
- name: KUBE_NODE_NAME
219+
valueFrom:
220+
fieldRef:
221+
apiVersion: v1
222+
fieldPath: spec.nodeName
223+
- name: AZURE_GO_SDK_LOG_LEVEL
224+
value: {{ .Values.driver.azureGoSDKLogLevel }}
225+
{{- if eq .Values.cloud "AzureStackCloud" }}
226+
- name: AZURE_ENVIRONMENT_FILEPATH
227+
value: /etc/kubernetes/azurestackcloud.json
228+
{{- end }}
229+
imagePullPolicy: {{ .Values.image.blob.pullPolicy }}
230+
securityContext:
231+
privileged: true
232+
capabilities:
233+
drop:
234+
- ALL
235+
volumeMounts:
236+
- mountPath: /csi
237+
name: socket-dir
238+
- mountPath: {{ .Values.linux.kubelet }}/
239+
mountPropagation: Bidirectional
240+
name: mountpoint-dir
241+
- mountPath: /etc/kubernetes/
242+
name: azure-cred
243+
- mountPath: /mnt
244+
name: blob-cache
245+
{{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }}
246+
- name: ssl
247+
mountPath: /etc/ssl/certs
248+
readOnly: true
249+
{{- end }}
250+
{{- if eq .Values.linux.distro "fedora" }}
251+
- name: ssl-pki
252+
mountPath: /etc/pki/ca-trust/extracted
253+
readOnly: true
254+
{{- end }}
255+
{{- if .Values.node.enableAznfsMount }}
256+
- mountPath: /opt/microsoft/aznfs/data
257+
name: aznfs-data
258+
- mountPath: /lib/modules
259+
name: lib-modules
260+
readOnly: true
261+
{{- end }}
262+
resources: {{- toYaml .Values.node.resources.blob | nindent 12 }}
263+
{{- if .Values.node.enableAznfsMount }}
264+
- name: aznfswatchdog
265+
{{- if hasPrefix "/" .Values.image.blob.repository }}
266+
image: "{{ .Values.image.baseRepo }}{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
267+
{{- else }}
268+
image: "{{ .Values.image.blob.repository }}:{{ .Values.image.blob.tag }}"
269+
{{- end }}
270+
command:
271+
- "aznfswatchdog"
272+
imagePullPolicy: {{ .Values.image.blob.pullPolicy }}
273+
securityContext:
274+
privileged: true
275+
capabilities:
276+
drop:
277+
- ALL
278+
resources: {{- toYaml .Values.node.resources.aznfswatchdog | nindent 12 }}
279+
volumeMounts:
280+
- mountPath: /opt/microsoft/aznfs/data
281+
name: aznfs-data
282+
- mountPath: {{ .Values.linux.kubelet }}/
283+
mountPropagation: Bidirectional
284+
name: mountpoint-dir
285+
{{- end }}
286+
volumes:
287+
- name: host-usr
288+
hostPath:
289+
path: /usr
290+
- name: host-usr-local
291+
hostPath:
292+
path: /usr/local
293+
- name: host-etc
294+
hostPath:
295+
path: /etc
296+
- hostPath:
297+
path: {{ .Values.linux.kubelet }}/plugins/{{ .Values.driver.name }}
298+
type: DirectoryOrCreate
299+
name: socket-dir
300+
- hostPath:
301+
path: {{ .Values.linux.kubelet }}/
302+
type: DirectoryOrCreate
303+
name: mountpoint-dir
304+
- hostPath:
305+
path: {{ .Values.linux.kubelet }}/plugins_registry/
306+
type: DirectoryOrCreate
307+
name: registration-dir
308+
- hostPath:
309+
path: /etc/kubernetes/
310+
type: DirectoryOrCreate
311+
name: azure-cred
312+
- hostPath:
313+
path: {{ .Values.node.blobfuseCachePath }}
314+
name: blob-cache
315+
{{- if or (eq .Values.cloud "AzureStackCloud") (eq .Values.linux.distro "fedora") }}
316+
- name: ssl
317+
hostPath:
318+
path: /etc/ssl/certs
319+
{{- end }}
320+
{{- if eq .Values.linux.distro "fedora" }}
321+
- name: ssl-pki
322+
hostPath:
323+
path: /etc/pki/ca-trust/extracted
324+
{{- end }}
325+
{{- if .Values.node.enableAznfsMount }}
326+
- hostPath:
327+
path: /opt/microsoft/aznfs/data
328+
type: DirectoryOrCreate
329+
name: aznfs-data
330+
- name: lib-modules
331+
hostPath:
332+
path: /lib/modules
333+
type: DirectoryOrCreate
334+
{{- end }}
335+
{{- if .Values.securityContext }}
336+
securityContext: {{- toYaml .Values.securityContext | nindent 8 }}
337+
{{- end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
{{- if .Values.rbac.create -}}
2+
kind: ClusterRole
3+
apiVersion: rbac.authorization.k8s.io/v1
4+
metadata:
5+
name: {{ .Values.rbac.name }}-external-provisioner-role
6+
labels:
7+
{{- include "blob.labels" . | nindent 4 }}
8+
rules:
9+
- apiGroups: [""]
10+
resources: ["persistentvolumes"]
11+
verbs: ["get", "list", "watch", "create", "patch", "delete"]
12+
- apiGroups: [""]
13+
resources: ["persistentvolumeclaims"]
14+
verbs: ["get", "list", "watch", "update"]
15+
- apiGroups: ["storage.k8s.io"]
16+
resources: ["storageclasses"]
17+
verbs: ["get", "list", "watch"]
18+
- apiGroups: [""]
19+
resources: ["events"]
20+
verbs: ["get", "list", "watch", "create", "update", "patch"]
21+
- apiGroups: ["storage.k8s.io"]
22+
resources: ["csinodes"]
23+
verbs: ["get", "list", "watch"]
24+
- apiGroups: [""]
25+
resources: ["nodes"]
26+
verbs: ["get", "list", "watch"]
27+
- apiGroups: ["coordination.k8s.io"]
28+
resources: ["leases"]
29+
verbs: ["get", "list", "watch", "create", "update", "patch"]
30+
31+
---
32+
33+
kind: ClusterRoleBinding
34+
apiVersion: rbac.authorization.k8s.io/v1
35+
metadata:
36+
name: {{ .Values.rbac.name }}-csi-provisioner-binding
37+
labels:
38+
{{- include "blob.labels" . | nindent 4 }}
39+
subjects:
40+
- kind: ServiceAccount
41+
name: {{ .Values.serviceAccount.controller }}
42+
namespace: {{ .Release.Namespace }}
43+
roleRef:
44+
kind: ClusterRole
45+
name: {{ .Values.rbac.name }}-external-provisioner-role
46+
apiGroup: rbac.authorization.k8s.io
47+
48+
---
49+
50+
kind: ClusterRole
51+
apiVersion: rbac.authorization.k8s.io/v1
52+
metadata:
53+
name: {{ .Values.rbac.name }}-external-resizer-role
54+
labels:
55+
{{- include "blob.labels" . | nindent 4 }}
56+
rules:
57+
- apiGroups: [""]
58+
resources: ["persistentvolumes"]
59+
verbs: ["get", "list", "watch", "update", "patch"]
60+
- apiGroups: [""]
61+
resources: ["persistentvolumeclaims"]
62+
verbs: ["get", "list", "watch"]
63+
- apiGroups: [""]
64+
resources: ["persistentvolumeclaims/status"]
65+
verbs: ["update", "patch"]
66+
- apiGroups: [""]
67+
resources: ["events"]
68+
verbs: ["list", "watch", "create", "update", "patch"]
69+
- apiGroups: ["coordination.k8s.io"]
70+
resources: ["leases"]
71+
verbs: ["get", "list", "watch", "create", "update", "patch"]
72+
---
73+
kind: ClusterRoleBinding
74+
apiVersion: rbac.authorization.k8s.io/v1
75+
metadata:
76+
name: {{ .Values.rbac.name }}-csi-resizer-role
77+
labels:
78+
{{- include "blob.labels" . | nindent 4 }}
79+
subjects:
80+
- kind: ServiceAccount
81+
name: {{ .Values.serviceAccount.controller }}
82+
namespace: {{ .Release.Namespace }}
83+
roleRef:
84+
kind: ClusterRole
85+
name: {{ .Values.rbac.name }}-external-resizer-role
86+
apiGroup: rbac.authorization.k8s.io
87+
88+
---
89+
kind: ClusterRole
90+
apiVersion: rbac.authorization.k8s.io/v1
91+
metadata:
92+
name: csi-{{ .Values.rbac.name }}-controller-secret-role
93+
labels:
94+
{{- include "blob.labels" . | nindent 4 }}
95+
rules:
96+
- apiGroups: [""]
97+
resources: ["secrets"]
98+
verbs: ["get", "create"]
99+
100+
---
101+
kind: ClusterRoleBinding
102+
apiVersion: rbac.authorization.k8s.io/v1
103+
metadata:
104+
name: csi-{{ .Values.rbac.name }}-controller-secret-binding
105+
labels:
106+
{{- include "blob.labels" . | nindent 4 }}
107+
subjects:
108+
- kind: ServiceAccount
109+
name: {{ .Values.serviceAccount.controller }}
110+
namespace: {{ .Release.Namespace }}
111+
roleRef:
112+
kind: ClusterRole
113+
name: csi-{{ .Values.rbac.name }}-controller-secret-role
114+
apiGroup: rbac.authorization.k8s.io
115+
{{ end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
{{- if .Values.rbac.create -}}
2+
---
3+
kind: ClusterRole
4+
apiVersion: rbac.authorization.k8s.io/v1
5+
metadata:
6+
name: csi-{{ .Values.rbac.name }}-node-secret-role
7+
labels:
8+
{{- include "blob.labels" . | nindent 4 }}
9+
rules:
10+
- apiGroups: [""]
11+
resources: ["secrets"]
12+
verbs: ["get"]
13+
14+
---
15+
kind: ClusterRoleBinding
16+
apiVersion: rbac.authorization.k8s.io/v1
17+
metadata:
18+
name: csi-{{ .Values.rbac.name }}-node-secret-binding
19+
labels:
20+
{{- include "blob.labels" . | nindent 4 }}
21+
subjects:
22+
- kind: ServiceAccount
23+
name: {{ .Values.serviceAccount.node }}
24+
namespace: {{ .Release.Namespace }}
25+
roleRef:
26+
kind: ClusterRole
27+
name: csi-{{ .Values.rbac.name }}-node-secret-role
28+
apiGroup: rbac.authorization.k8s.io
29+
{{ end }}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{- if .Values.serviceAccount.create -}}
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: {{ .Values.serviceAccount.controller }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "blob.labels" . | nindent 4 }}
9+
{{- if .Values.workloadIdentity.clientID }}
10+
azure.workload.identity/use: "true"
11+
annotations:
12+
azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }}
13+
{{- if .Values.workloadIdentity.tenantID }}
14+
azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }}
15+
{{- end }}
16+
{{- end }}
17+
{{- end -}}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{{- if .Values.serviceAccount.create -}}
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: {{ .Values.serviceAccount.node }}
6+
namespace: {{ .Release.Namespace }}
7+
labels:
8+
{{- include "blob.labels" . | nindent 4 }}
9+
{{- if .Values.workloadIdentity.clientID }}
10+
azure.workload.identity/use: "true"
11+
annotations:
12+
azure.workload.identity/client-id: {{ .Values.workloadIdentity.clientID }}
13+
{{- if .Values.workloadIdentity.tenantID }}
14+
azure.workload.identity/tenant-id: {{ .Values.workloadIdentity.tenantID }}
15+
{{- end }}
16+
{{- end }}
17+
{{- end -}}

Diff for: ‎charts/v1.26.1/blob-csi-driver/values.yaml

+186
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,186 @@
1+
image:
2+
baseRepo: mcr.microsoft.com
3+
blob:
4+
repository: /oss/kubernetes-csi/blob-csi
5+
tag: v1.26.1
6+
pullPolicy: IfNotPresent
7+
csiProvisioner:
8+
repository: /oss/kubernetes-csi/csi-provisioner
9+
tag: v5.2.0
10+
pullPolicy: IfNotPresent
11+
livenessProbe:
12+
repository: /oss/kubernetes-csi/livenessprobe
13+
tag: v2.15.0
14+
pullPolicy: IfNotPresent
15+
nodeDriverRegistrar:
16+
repository: /oss/kubernetes-csi/csi-node-driver-registrar
17+
tag: v2.13.0
18+
pullPolicy: IfNotPresent
19+
csiResizer:
20+
repository: /oss/kubernetes-csi/csi-resizer
21+
tag: v1.13.2
22+
pullPolicy: IfNotPresent
23+
24+
cloud: AzurePublicCloud
25+
26+
## Reference to one or more secrets to be used when pulling images
27+
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/
28+
imagePullSecrets: []
29+
# - name: myRegistryKeySecretName
30+
31+
serviceAccount:
32+
create: true # When true, service accounts will be created for you. Set to false if you want to use your own.
33+
controller: csi-blob-controller-sa # Name of Service Account to be created or used
34+
node: csi-blob-node-sa # Name of Service Account to be created or used
35+
36+
rbac:
37+
create: true
38+
name: blob
39+
40+
## Collection of annotations to add to all the pods
41+
podAnnotations: {}
42+
## Collection of labels to add to all the pods
43+
podLabels: {}
44+
# -- Custom labels to add into metadata
45+
customLabels: {}
46+
# k8s-app: blob-csi-driver
47+
48+
## Leverage a PriorityClass to ensure your pods survive resource shortages
49+
## ref: https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/
50+
priorityClassName: system-cluster-critical
51+
## Security context give the opportunity to run container as nonroot by setting a securityContext
52+
## by example :
53+
## securityContext: { runAsUser: 1001 }
54+
securityContext: {}
55+
56+
controller:
57+
name: csi-blob-controller
58+
cloudConfigSecretName: azure-cloud-provider
59+
cloudConfigSecretNamespace: kube-system
60+
allowEmptyCloudConfig: true
61+
hostNetwork: true # this setting could be disabled if controller does not depend on MSI setting
62+
metricsPort: 29634
63+
livenessProbe:
64+
healthPort: 29632
65+
replicas: 2
66+
runOnMaster: false
67+
runOnControlPlane: false
68+
logLevel: 5
69+
resources:
70+
csiProvisioner:
71+
limits:
72+
memory: 500Mi
73+
requests:
74+
cpu: 10m
75+
memory: 20Mi
76+
livenessProbe:
77+
limits:
78+
memory: 100Mi
79+
requests:
80+
cpu: 10m
81+
memory: 20Mi
82+
blob:
83+
limits:
84+
memory: 800Mi
85+
requests:
86+
cpu: 10m
87+
memory: 20Mi
88+
csiResizer:
89+
limits:
90+
memory: 500Mi
91+
requests:
92+
cpu: 10m
93+
memory: 20Mi
94+
affinity: {}
95+
nodeSelector: {}
96+
tolerations:
97+
- key: "node-role.kubernetes.io/master"
98+
operator: "Exists"
99+
effect: "NoSchedule"
100+
- key: "node-role.kubernetes.io/controlplane"
101+
operator: "Exists"
102+
effect: "NoSchedule"
103+
- key: "node-role.kubernetes.io/control-plane"
104+
operator: "Exists"
105+
effect: "NoSchedule"
106+
- key: "CriticalAddonsOnly"
107+
operator: "Exists"
108+
effect: "NoSchedule"
109+
110+
node:
111+
name: csi-blob-node
112+
cloudConfigSecretName: azure-cloud-provider
113+
cloudConfigSecretNamespace: kube-system
114+
allowEmptyCloudConfig: true
115+
allowInlineVolumeKeyAccessWithIdentity: false
116+
maxUnavailable: 1
117+
metricsPort: 29635
118+
livenessProbe:
119+
healthPort: 29633
120+
logLevel: 5
121+
enableBlobfuseProxy: true
122+
blobfuseProxy:
123+
installBlobfuse: false
124+
blobfuseVersion: "1.4.5"
125+
installBlobfuse2: true
126+
blobfuse2Version: "2.4.1"
127+
setMaxOpenFileNum: true
128+
maxOpenFileNum: "9000000"
129+
disableUpdateDB: true
130+
migrateK8sRepo: false
131+
setReadAheadSize: true
132+
blobfuseCachePath: /mnt
133+
appendTimeStampInCacheDir: false
134+
mountPermissions: 0777
135+
resources:
136+
livenessProbe:
137+
limits:
138+
memory: 100Mi
139+
requests:
140+
cpu: 10m
141+
memory: 20Mi
142+
nodeDriverRegistrar:
143+
limits:
144+
memory: 100Mi
145+
requests:
146+
cpu: 10m
147+
memory: 20Mi
148+
blob:
149+
limits:
150+
memory: 2100Mi
151+
requests:
152+
cpu: 10m
153+
memory: 20Mi
154+
aznfswatchdog:
155+
limits:
156+
memory: 100Mi
157+
requests:
158+
cpu: 10m
159+
memory: 20Mi
160+
affinity: {}
161+
nodeSelector: {}
162+
tolerations:
163+
- operator: "Exists"
164+
enableAznfsMount: true
165+
166+
feature:
167+
fsGroupPolicy: ReadWriteOnceWithFSType
168+
enableGetVolumeStats: false
169+
170+
driver:
171+
name: blob.csi.azure.com
172+
customUserAgent: ""
173+
userAgentSuffix: "OSS-helm"
174+
azureGoSDKLogLevel: "" # available values: ""(no logs), DEBUG, INFO, WARNING, ERROR
175+
httpsProxy: ""
176+
httpProxy: ""
177+
178+
linux:
179+
kubelet: /var/lib/kubelet
180+
distro: debian
181+
182+
workloadIdentity:
183+
clientID: ""
184+
# [optional] If the AAD application or user-assigned managed identity is not in the same tenant as the cluster
185+
# then set tenantID with the application or user-assigned managed identity tenant ID
186+
tenantID: ""

Diff for: ‎deploy/csi-blob-controller.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ spec:
8585
drop:
8686
- ALL
8787
- name: blob
88-
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.0
88+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
8989
imagePullPolicy: IfNotPresent
9090
args:
9191
- "--v=5"

Diff for: ‎deploy/csi-blob-node.yaml

+3-3
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ spec:
4040
- operator: "Exists"
4141
initContainers:
4242
- name: install-blobfuse-proxy
43-
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.0
43+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
4444
imagePullPolicy: IfNotPresent
4545
command:
4646
- "/blobfuse-proxy/init.sh"
@@ -123,7 +123,7 @@ spec:
123123
drop:
124124
- ALL
125125
- name: blob
126-
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.0
126+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
127127
imagePullPolicy: IfNotPresent
128128
args:
129129
- "--v=5"
@@ -190,7 +190,7 @@ spec:
190190
cpu: 10m
191191
memory: 20Mi
192192
- name: aznfswatchdog
193-
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.0
193+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
194194
command:
195195
- "aznfswatchdog"
196196
imagePullPolicy: IfNotPresent

Diff for: ‎deploy/v1.26.1/csi-blob-controller.yaml

+172
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,172 @@
1+
---
2+
kind: Deployment
3+
apiVersion: apps/v1
4+
metadata:
5+
name: csi-blob-controller
6+
namespace: kube-system
7+
spec:
8+
replicas: 2
9+
selector:
10+
matchLabels:
11+
app: csi-blob-controller
12+
template:
13+
metadata:
14+
labels:
15+
app: csi-blob-controller
16+
spec:
17+
hostNetwork: true
18+
serviceAccountName: csi-blob-controller-sa
19+
nodeSelector:
20+
kubernetes.io/os: linux # add "kubernetes.io/role: master" to run controller on master node
21+
priorityClassName: system-cluster-critical
22+
securityContext:
23+
seccompProfile:
24+
type: RuntimeDefault
25+
tolerations:
26+
- key: "node-role.kubernetes.io/master"
27+
operator: "Exists"
28+
effect: "NoSchedule"
29+
- key: "node-role.kubernetes.io/controlplane"
30+
operator: "Exists"
31+
effect: "NoSchedule"
32+
- key: "node-role.kubernetes.io/control-plane"
33+
operator: "Exists"
34+
effect: "NoSchedule"
35+
- key: "CriticalAddonsOnly"
36+
operator: "Exists"
37+
effect: "NoSchedule"
38+
containers:
39+
- name: csi-provisioner
40+
image: mcr.microsoft.com/oss/kubernetes-csi/csi-provisioner:v5.2.0
41+
args:
42+
- "-v=2"
43+
- "--csi-address=$(ADDRESS)"
44+
- "--leader-election"
45+
- "--leader-election-namespace=kube-system"
46+
- "--timeout=1200s"
47+
- "--extra-create-metadata=true"
48+
- "--kube-api-qps=50"
49+
- "--kube-api-burst=100"
50+
- "--feature-gates=HonorPVReclaimPolicy=true"
51+
- "--retry-interval-max=30m"
52+
env:
53+
- name: ADDRESS
54+
value: /csi/csi.sock
55+
volumeMounts:
56+
- mountPath: /csi
57+
name: socket-dir
58+
resources:
59+
limits:
60+
memory: 500Mi
61+
requests:
62+
cpu: 10m
63+
memory: 20Mi
64+
securityContext:
65+
capabilities:
66+
drop:
67+
- ALL
68+
- name: liveness-probe
69+
image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.15.0
70+
args:
71+
- --csi-address=/csi/csi.sock
72+
- --probe-timeout=3s
73+
- --http-endpoint=localhost:29632
74+
volumeMounts:
75+
- name: socket-dir
76+
mountPath: /csi
77+
resources:
78+
limits:
79+
memory: 100Mi
80+
requests:
81+
cpu: 10m
82+
memory: 20Mi
83+
securityContext:
84+
capabilities:
85+
drop:
86+
- ALL
87+
- name: blob
88+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
89+
imagePullPolicy: IfNotPresent
90+
args:
91+
- "--v=5"
92+
- "--endpoint=$(CSI_ENDPOINT)"
93+
- "--metrics-address=0.0.0.0:29634"
94+
- "--user-agent-suffix=OSS-kubectl"
95+
ports:
96+
- containerPort: 29634
97+
name: metrics
98+
protocol: TCP
99+
livenessProbe:
100+
failureThreshold: 5
101+
httpGet:
102+
host: localhost
103+
path: /healthz
104+
port: 29632
105+
initialDelaySeconds: 30
106+
timeoutSeconds: 10
107+
periodSeconds: 30
108+
env:
109+
- name: AZURE_CREDENTIAL_FILE
110+
valueFrom:
111+
configMapKeyRef:
112+
name: azure-cred-file
113+
key: path
114+
optional: true
115+
- name: CSI_ENDPOINT
116+
value: unix:///csi/csi.sock
117+
- name: AZCOPY_CONCURRENCY_VALUE
118+
value: "10"
119+
- name: AZCOPY_CONCURRENT_FILES
120+
value: "20"
121+
- name: AZCOPY_BUFFER_GB
122+
value: "1"
123+
volumeMounts:
124+
- mountPath: /csi
125+
name: socket-dir
126+
- mountPath: /root/.azcopy
127+
name: azcopy-dir
128+
- mountPath: /etc/kubernetes/
129+
name: azure-cred
130+
resources:
131+
limits:
132+
memory: 800Mi
133+
requests:
134+
cpu: 10m
135+
memory: 20Mi
136+
securityContext:
137+
capabilities:
138+
drop:
139+
- ALL
140+
- name: csi-resizer
141+
image: mcr.microsoft.com/oss/kubernetes-csi/csi-resizer:v1.13.2
142+
args:
143+
- "-csi-address=$(ADDRESS)"
144+
- "-v=2"
145+
- "-leader-election"
146+
- "--leader-election-namespace=kube-system"
147+
- '-handle-volume-inuse-error=false'
148+
env:
149+
- name: ADDRESS
150+
value: /csi/csi.sock
151+
volumeMounts:
152+
- name: socket-dir
153+
mountPath: /csi
154+
resources:
155+
limits:
156+
memory: 500Mi
157+
requests:
158+
cpu: 10m
159+
memory: 20Mi
160+
securityContext:
161+
capabilities:
162+
drop:
163+
- ALL
164+
volumes:
165+
- name: socket-dir
166+
emptyDir: {}
167+
- name: azcopy-dir
168+
emptyDir: {}
169+
- name: azure-cred
170+
hostPath:
171+
path: /etc/kubernetes/
172+
type: DirectoryOrCreate

Diff for: ‎deploy/v1.26.1/csi-blob-driver.yaml

+14
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
apiVersion: storage.k8s.io/v1
3+
kind: CSIDriver
4+
metadata:
5+
name: blob.csi.azure.com
6+
spec:
7+
attachRequired: false
8+
podInfoOnMount: true
9+
fsGroupPolicy: ReadWriteOnceWithFSType
10+
volumeLifecycleModes:
11+
- Persistent
12+
- Ephemeral
13+
tokenRequests:
14+
- audience: api://AzureADTokenExchange

Diff for: ‎deploy/v1.26.1/csi-blob-node.yaml

+252
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
---
2+
kind: DaemonSet
3+
apiVersion: apps/v1
4+
metadata:
5+
name: csi-blob-node
6+
namespace: kube-system
7+
spec:
8+
updateStrategy:
9+
rollingUpdate:
10+
maxUnavailable: 1
11+
type: RollingUpdate
12+
selector:
13+
matchLabels:
14+
app: csi-blob-node
15+
template:
16+
metadata:
17+
labels:
18+
app: csi-blob-node
19+
spec:
20+
hostNetwork: true
21+
hostPID: true
22+
dnsPolicy: Default
23+
serviceAccountName: csi-blob-node-sa
24+
nodeSelector:
25+
kubernetes.io/os: linux
26+
affinity:
27+
nodeAffinity:
28+
requiredDuringSchedulingIgnoredDuringExecution:
29+
nodeSelectorTerms:
30+
- matchExpressions:
31+
- key: type
32+
operator: NotIn
33+
values:
34+
- virtual-kubelet
35+
priorityClassName: system-node-critical
36+
securityContext:
37+
seccompProfile:
38+
type: RuntimeDefault
39+
tolerations:
40+
- operator: "Exists"
41+
initContainers:
42+
- name: install-blobfuse-proxy
43+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
44+
imagePullPolicy: IfNotPresent
45+
command:
46+
- "/blobfuse-proxy/init.sh"
47+
securityContext:
48+
privileged: true
49+
capabilities:
50+
drop:
51+
- ALL
52+
env:
53+
- name: DEBIAN_FRONTEND
54+
value: "noninteractive"
55+
- name: INSTALL_BLOBFUSE_PROXY
56+
value: "true"
57+
- name: INSTALL_BLOBFUSE
58+
value: "false"
59+
- name: BLOBFUSE_VERSION
60+
value: "1.4.5"
61+
- name: INSTALL_BLOBFUSE2
62+
value: "true"
63+
- name: BLOBFUSE2_VERSION
64+
value: "2.4.1"
65+
- name: SET_MAX_OPEN_FILE_NUM
66+
value: "true"
67+
- name: MAX_FILE_NUM
68+
value: "9000000"
69+
- name: DISABLE_UPDATEDB
70+
value: "true"
71+
volumeMounts:
72+
- name: host-usr
73+
mountPath: /host/usr
74+
- name: host-usr-local
75+
mountPath: /host/usr/local
76+
- name: host-etc
77+
mountPath: /host/etc
78+
containers:
79+
- name: liveness-probe
80+
volumeMounts:
81+
- mountPath: /csi
82+
name: socket-dir
83+
image: mcr.microsoft.com/oss/kubernetes-csi/livenessprobe:v2.15.0
84+
args:
85+
- --csi-address=/csi/csi.sock
86+
- --probe-timeout=10s
87+
- --http-endpoint=localhost:29633
88+
- --v=2
89+
resources:
90+
limits:
91+
memory: 100Mi
92+
requests:
93+
cpu: 10m
94+
memory: 20Mi
95+
securityContext:
96+
capabilities:
97+
drop:
98+
- ALL
99+
- name: node-driver-registrar
100+
image: mcr.microsoft.com/oss/kubernetes-csi/csi-node-driver-registrar:v2.13.0
101+
args:
102+
- --csi-address=$(ADDRESS)
103+
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
104+
- --v=2
105+
env:
106+
- name: ADDRESS
107+
value: /csi/csi.sock
108+
- name: DRIVER_REG_SOCK_PATH
109+
value: /var/lib/kubelet/plugins/blob.csi.azure.com/csi.sock
110+
volumeMounts:
111+
- name: socket-dir
112+
mountPath: /csi
113+
- name: registration-dir
114+
mountPath: /registration
115+
resources:
116+
limits:
117+
memory: 100Mi
118+
requests:
119+
cpu: 10m
120+
memory: 20Mi
121+
securityContext:
122+
capabilities:
123+
drop:
124+
- ALL
125+
- name: blob
126+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
127+
imagePullPolicy: IfNotPresent
128+
args:
129+
- "--v=5"
130+
- "--endpoint=$(CSI_ENDPOINT)"
131+
- "--enable-blobfuse-proxy=true"
132+
- "--blobfuse-proxy-endpoint=$(BLOBFUSE_PROXY_ENDPOINT)"
133+
- "--nodeid=$(KUBE_NODE_NAME)"
134+
- "--user-agent-suffix=OSS-kubectl"
135+
- "--metrics-address=0.0.0.0:29635"
136+
- "--enable-aznfs-mount=true"
137+
ports:
138+
- containerPort: 29635
139+
name: metrics
140+
protocol: TCP
141+
livenessProbe:
142+
failureThreshold: 5
143+
httpGet:
144+
host: localhost
145+
path: /healthz
146+
port: 29633
147+
initialDelaySeconds: 30
148+
timeoutSeconds: 30
149+
periodSeconds: 30
150+
env:
151+
- name: AZURE_CREDENTIAL_FILE
152+
valueFrom:
153+
configMapKeyRef:
154+
name: azure-cred-file
155+
key: path
156+
optional: true
157+
- name: CSI_ENDPOINT
158+
value: unix:///csi/csi.sock
159+
- name: BLOBFUSE_PROXY_ENDPOINT
160+
value: unix:///csi/blobfuse-proxy.sock
161+
- name: KUBE_NODE_NAME
162+
valueFrom:
163+
fieldRef:
164+
apiVersion: v1
165+
fieldPath: spec.nodeName
166+
securityContext:
167+
privileged: true
168+
capabilities:
169+
drop:
170+
- ALL
171+
volumeMounts:
172+
- mountPath: /csi
173+
name: socket-dir
174+
- mountPath: /var/lib/kubelet/
175+
mountPropagation: Bidirectional
176+
name: mountpoint-dir
177+
- mountPath: /etc/kubernetes/
178+
name: azure-cred
179+
- mountPath: /mnt
180+
name: blob-cache
181+
- mountPath: /opt/microsoft/aznfs/data
182+
name: aznfs-data
183+
- mountPath: /lib/modules
184+
name: lib-modules
185+
readOnly: true
186+
resources:
187+
limits:
188+
memory: 2100Mi
189+
requests:
190+
cpu: 10m
191+
memory: 20Mi
192+
- name: aznfswatchdog
193+
image: mcr.microsoft.com/oss/kubernetes-csi/blob-csi:v1.26.1
194+
command:
195+
- "aznfswatchdog"
196+
imagePullPolicy: IfNotPresent
197+
securityContext:
198+
privileged: true
199+
capabilities:
200+
drop:
201+
- ALL
202+
resources:
203+
limits:
204+
memory: 100Mi
205+
requests:
206+
cpu: 10m
207+
memory: 20Mi
208+
volumeMounts:
209+
- mountPath: /opt/microsoft/aznfs/data
210+
name: aznfs-data
211+
- mountPath: /var/lib/kubelet/
212+
mountPropagation: Bidirectional
213+
name: mountpoint-dir
214+
volumes:
215+
- name: host-usr
216+
hostPath:
217+
path: /usr
218+
- name: host-usr-local
219+
hostPath:
220+
path: /usr/local
221+
- name: host-etc
222+
hostPath:
223+
path: /etc
224+
- hostPath:
225+
path: /var/lib/kubelet/plugins/blob.csi.azure.com
226+
type: DirectoryOrCreate
227+
name: socket-dir
228+
- hostPath:
229+
path: /var/lib/kubelet/
230+
type: DirectoryOrCreate
231+
name: mountpoint-dir
232+
- hostPath:
233+
path: /var/lib/kubelet/plugins_registry/
234+
type: DirectoryOrCreate
235+
name: registration-dir
236+
- hostPath:
237+
path: /etc/kubernetes/
238+
type: DirectoryOrCreate
239+
name: azure-cred
240+
- hostPath:
241+
path: /mnt
242+
type: DirectoryOrCreate
243+
name: blob-cache
244+
- hostPath:
245+
path: /opt/microsoft/aznfs/data
246+
type: DirectoryOrCreate
247+
name: aznfs-data
248+
- name: lib-modules
249+
hostPath:
250+
path: /lib/modules
251+
type: DirectoryOrCreate
252+
---

Diff for: ‎deploy/v1.26.1/kustomization.yaml

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
---
2+
apiVersion: kustomize.config.k8s.io/v1beta1
3+
kind: Kustomization
4+
resources:
5+
- csi-blob-controller.yaml
6+
- csi-blob-driver.yaml
7+
- csi-blob-node.yaml
8+
- rbac-csi-blob-controller.yaml
9+
- rbac-csi-blob-node.yaml
10+
- blobfuse-proxy.yaml

Diff for: ‎deploy/v1.26.1/rbac-csi-blob-controller.yaml

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: csi-blob-controller-sa
6+
namespace: kube-system
7+
---
8+
9+
kind: ClusterRole
10+
apiVersion: rbac.authorization.k8s.io/v1
11+
metadata:
12+
name: blob-external-provisioner-role
13+
rules:
14+
- apiGroups: [""]
15+
resources: ["persistentvolumes"]
16+
verbs: ["get", "list", "watch", "create", "patch", "delete"]
17+
- apiGroups: [""]
18+
resources: ["persistentvolumeclaims"]
19+
verbs: ["get", "list", "watch", "update"]
20+
- apiGroups: ["storage.k8s.io"]
21+
resources: ["storageclasses"]
22+
verbs: ["get", "list", "watch"]
23+
- apiGroups: [""]
24+
resources: ["events"]
25+
verbs: ["get", "list", "watch", "create", "update", "patch"]
26+
- apiGroups: ["storage.k8s.io"]
27+
resources: ["csinodes"]
28+
verbs: ["get", "list", "watch"]
29+
- apiGroups: [""]
30+
resources: ["nodes"]
31+
verbs: ["get", "list", "watch"]
32+
- apiGroups: ["coordination.k8s.io"]
33+
resources: ["leases"]
34+
verbs: ["get", "list", "watch", "create", "update", "patch"]
35+
---
36+
37+
kind: ClusterRoleBinding
38+
apiVersion: rbac.authorization.k8s.io/v1
39+
metadata:
40+
name: blob-csi-provisioner-binding
41+
subjects:
42+
- kind: ServiceAccount
43+
name: csi-blob-controller-sa
44+
namespace: kube-system
45+
roleRef:
46+
kind: ClusterRole
47+
name: blob-external-provisioner-role
48+
apiGroup: rbac.authorization.k8s.io
49+
---
50+
51+
kind: ClusterRole
52+
apiVersion: rbac.authorization.k8s.io/v1
53+
metadata:
54+
name: blob-external-resizer-role
55+
rules:
56+
- apiGroups: [""]
57+
resources: ["persistentvolumes"]
58+
verbs: ["get", "list", "watch", "update", "patch"]
59+
- apiGroups: [""]
60+
resources: ["persistentvolumeclaims"]
61+
verbs: ["get", "list", "watch"]
62+
- apiGroups: [""]
63+
resources: ["persistentvolumeclaims/status"]
64+
verbs: ["update", "patch"]
65+
- apiGroups: [""]
66+
resources: ["events"]
67+
verbs: ["list", "watch", "create", "update", "patch"]
68+
- apiGroups: ["coordination.k8s.io"]
69+
resources: ["leases"]
70+
verbs: ["get", "list", "watch", "create", "update", "patch"]
71+
---
72+
73+
kind: ClusterRoleBinding
74+
apiVersion: rbac.authorization.k8s.io/v1
75+
metadata:
76+
name: blob-csi-resizer-role
77+
subjects:
78+
- kind: ServiceAccount
79+
name: csi-blob-controller-sa
80+
namespace: kube-system
81+
roleRef:
82+
kind: ClusterRole
83+
name: blob-external-resizer-role
84+
apiGroup: rbac.authorization.k8s.io
85+
---
86+
87+
kind: ClusterRole
88+
apiVersion: rbac.authorization.k8s.io/v1
89+
metadata:
90+
name: csi-blob-controller-secret-role
91+
rules:
92+
- apiGroups: [""]
93+
resources: ["secrets"]
94+
verbs: ["get", "create"]
95+
96+
---
97+
kind: ClusterRoleBinding
98+
apiVersion: rbac.authorization.k8s.io/v1
99+
metadata:
100+
name: csi-blob-controller-secret-binding
101+
subjects:
102+
- kind: ServiceAccount
103+
name: csi-blob-controller-sa
104+
namespace: kube-system
105+
roleRef:
106+
kind: ClusterRole
107+
name: csi-blob-controller-secret-role
108+
apiGroup: rbac.authorization.k8s.io

Diff for: ‎deploy/v1.26.1/rbac-csi-blob-node.yaml

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
---
2+
apiVersion: v1
3+
kind: ServiceAccount
4+
metadata:
5+
name: csi-blob-node-sa
6+
namespace: kube-system
7+
8+
---
9+
kind: ClusterRole
10+
apiVersion: rbac.authorization.k8s.io/v1
11+
metadata:
12+
name: csi-blob-node-secret-role
13+
rules:
14+
- apiGroups: [""]
15+
resources: ["secrets"]
16+
verbs: ["get"]
17+
18+
---
19+
kind: ClusterRoleBinding
20+
apiVersion: rbac.authorization.k8s.io/v1
21+
metadata:
22+
name: csi-blob-node-secret-binding
23+
subjects:
24+
- kind: ServiceAccount
25+
name: csi-blob-node-sa
26+
namespace: kube-system
27+
roleRef:
28+
kind: ClusterRole
29+
name: csi-blob-node-secret-role
30+
apiGroup: rbac.authorization.k8s.io

Diff for: ‎docs/install-blob-csi-driver.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
> - please use helm install method for more customization, e.g. Azure Stack, RedHat OpenShift support.
55
>
66
- [install CSI driver master version](./install-csi-driver-master.md) (only for testing purpose)
7-
- [install v1.26.0 CSI driver](./install-csi-driver-v1.26.0.md)
7+
- [install v1.26.1 CSI driver](./install-csi-driver-v1.26.1.md)
88
- [install v1.25.1 CSI driver](./install-csi-driver-v1.25.1.md)
99
- [install v1.24.6 CSI driver](./install-csi-driver-v1.24.6.md)

Diff for: ‎docs/install-csi-driver-v1.26.1.md

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# Install Azure Blob Storage CSI driver v1.26.1 version on a kubernetes cluster
2+
> `blobfuse-proxy` is supported on CoreOS(OpenShift) from v1.23.2
3+
>
4+
If you have already installed Helm, you can also use it to install this driver. Please check [Installation with Helm](../charts/README.md).
5+
6+
## Install with kubectl
7+
- Option#1. remote install
8+
```console
9+
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.26.1/deploy/install-driver.sh | bash -s v1.26.1 blobfuse-proxy --
10+
```
11+
12+
- Option#2. local install
13+
```console
14+
git clone https://github.com/kubernetes-sigs/blob-csi-driver.git
15+
cd blob-csi-driver
16+
./deploy/install-driver.sh v1.26.1 local,blobfuse-proxy
17+
```
18+
19+
- check pods status:
20+
```console
21+
kubectl -n kube-system get pod -o wide -l app=csi-blob-controller
22+
kubectl -n kube-system get pod -o wide -l app=csi-blob-node
23+
```
24+
25+
example output:
26+
27+
```console
28+
NAME READY STATUS RESTARTS AGE IP NODE
29+
csi-blob-controller-56bfddd689-dh5tk 4/4 Running 0 35s 10.240.0.19 k8s-agentpool-22533604-0
30+
csi-blob-controller-56bfddd689-8pgr4 4/4 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1
31+
csi-blob-node-cvgbs 3/3 Running 0 35s 10.240.0.35 k8s-agentpool-22533604-1
32+
csi-blob-node-dr4s4 3/3 Running 0 35s 10.240.0.4 k8s-agentpool-22533604-0
33+
```
34+
35+
### clean up Blob CSI driver
36+
- Option#1. remote uninstall
37+
```console
38+
curl -skSL https://raw.githubusercontent.com/kubernetes-sigs/blob-csi-driver/v1.26.1/deploy/uninstall-driver.sh | bash -s v1.26.1 --
39+
```
40+
41+
- Option#2. local uninstall
42+
```console
43+
git clone https://github.com/kubernetes-sigs/blob-csi-driver.git
44+
cd blob-csi-driver
45+
git checkout v1.26.1
46+
./deploy/uninstall-driver.sh v1.26.1 local
47+
```

0 commit comments

Comments
 (0)
Please sign in to comment.