Skip to content

Commit 0c7415a

Browse files
authored
Merge pull request #155 from andyzhangx/cut-v0.5.0
doc: cut v0.5.0 release
2 parents dc18c05 + 6ab58b5 commit 0c7415a

23 files changed

+1179
-5
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ This driver allows Kubernetes to use [azure-storage-fuse](https://github.com/Azu
99
|Blobfuse CSI Driver Version | Image | 1.14+ |
1010
|-------------------------------|----------------------------------------------------|--------|
1111
|master branch |mcr.microsoft.com/k8s/csi/blobfuse-csi:latest | yes |
12+
|v0.5.0 |mcr.microsoft.com/k8s/csi/blobfuse-csi:v0.5.0 | yes |
1213
|v0.4.0 |mcr.microsoft.com/k8s/csi/blobfuse-csi:v0.4.0 | yes |
13-
|v0.3.0 |mcr.microsoft.com/k8s/csi/blobfuse-csi:v0.3.0 | yes |
1414

1515
### Driver parameters
1616
Please refer to `blobfuse.csi.azure.com` [driver parameters](./docs/driver-parameters.md)
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
apiVersion: v1
2-
appVersion: latest
2+
appVersion: v0.4.0
33
description: BlobFuse Container Storage Interface (CSI) Storage Plugin
44
name: blobfuse-csi-driver
5-
version: latest
5+
version: v0.4.0
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v1
2+
appVersion: v0.5.0
3+
description: BlobFuse Container Storage Interface (CSI) Storage Plugin
4+
name: blobfuse-csi-driver
5+
version: v0.5.0
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
The BlobFuse CSI Driver is getting deployed to your cluster.
2+
3+
To check Blobfuse CSI Driver pods status, please run:
4+
5+
kubectl --namespace={{ .Release.Namespace }} get pods --selector="release={{ .Release.Name }}" --watch
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{{/* vim: set filetype=mustache: */}}
2+
3+
{{/* labels for helm resources */}}
4+
{{- define "blobfuse.labels" -}}
5+
labels:
6+
heritage: "{{ .Release.Service }}"
7+
release: "{{ .Release.Name }}"
8+
revision: "{{ .Release.Revision }}"
9+
chart: "{{ .Chart.Name }}"
10+
chartVersion: "{{ .Chart.Version }}"
11+
{{- end -}}
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
creationTimestamp: null
5+
name: csinodeinfos.csi.storage.k8s.io
6+
{{ include "blobfuse.labels" . | indent 2 }}
7+
spec:
8+
group: csi.storage.k8s.io
9+
names:
10+
kind: CSINodeInfo
11+
plural: csinodeinfos
12+
scope: Cluster
13+
validation:
14+
openAPIV3Schema:
15+
properties:
16+
csiDrivers:
17+
description: List of CSI drivers running on the node and their properties.
18+
items:
19+
properties:
20+
driver:
21+
description: The CSI driver that this object refers to.
22+
type: string
23+
nodeID:
24+
description: The node from the driver point of view.
25+
type: string
26+
topologyKeys:
27+
description: List of keys supported by the driver.
28+
items:
29+
type: string
30+
type: array
31+
type: array
32+
version: v1alpha1
33+
status:
34+
acceptedNames:
35+
kind: ""
36+
plural: ""
37+
conditions: []
38+
storedVersions: []
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
kind: Deployment
2+
apiVersion: apps/v1
3+
metadata:
4+
name: csi-blobfuse-controller
5+
namespace: {{ .Release.Namespace }}
6+
{{ include "blobfuse.labels" . | indent 2 }}
7+
spec:
8+
replicas: {{ .Values.controller.replicas }}
9+
selector:
10+
matchLabels:
11+
app: csi-blobfuse-controller
12+
template:
13+
metadata:
14+
{{ include "blobfuse.labels" . | indent 6 }}
15+
app: csi-blobfuse-controller
16+
spec:
17+
hostNetwork: true
18+
serviceAccountName: csi-blobfuse-controller-sa
19+
nodeSelector:
20+
kubernetes.io/os: linux
21+
priorityClassName: system-cluster-critical
22+
tolerations:
23+
- key: "node-role.kubernetes.io/master"
24+
operator: "Equal"
25+
value: "true"
26+
effect: "NoSchedule"
27+
containers:
28+
- name: csi-provisioner
29+
image: {{ .Values.image.csiProvisioner.repository }}:{{ .Values.image.csiProvisioner.tag }}
30+
args:
31+
- "-v=5"
32+
- "--provisioner=blobfuse.csi.azure.com"
33+
- "--csi-address=$(ADDRESS)"
34+
- "--connection-timeout=15s"
35+
- "--enable-leader-election"
36+
- "--leader-election-type=leases"
37+
env:
38+
- name: ADDRESS
39+
value: /csi/csi.sock
40+
imagePullPolicy: {{ .Values.image.csiProvisioner.pullPolicy }}
41+
volumeMounts:
42+
- mountPath: /csi
43+
name: socket-dir
44+
resources:
45+
limits:
46+
cpu: 1
47+
memory: 1Gi
48+
requests:
49+
cpu: 10m
50+
memory: 20Mi
51+
- name: csi-attacher
52+
image: "{{ .Values.image.csiAttacher.repository }}:{{ .Values.image.csiAttacher.tag }}"
53+
args:
54+
- "-v=5"
55+
- "-csi-address=$(ADDRESS)"
56+
- "-timeout=120s"
57+
- "-leader-election"
58+
env:
59+
- name: ADDRESS
60+
value: /csi/csi.sock
61+
imagePullPolicy: {{ .Values.image.csiAttacher.pullPolicy }}
62+
volumeMounts:
63+
- mountPath: /csi
64+
name: socket-dir
65+
resources:
66+
limits:
67+
cpu: 1
68+
memory: 1Gi
69+
requests:
70+
cpu: 10m
71+
memory: 20Mi
72+
- name: liveness-probe
73+
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
74+
args:
75+
- --csi-address=/csi/csi.sock
76+
- --connection-timeout=3s
77+
- --health-port=29622
78+
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
79+
volumeMounts:
80+
- name: socket-dir
81+
mountPath: /csi
82+
resources:
83+
limits:
84+
cpu: 1
85+
memory: 1Gi
86+
requests:
87+
cpu: 10m
88+
memory: 20Mi
89+
- name: blobfuse
90+
image: "{{ .Values.image.blobfuse.repository }}:{{ .Values.image.blobfuse.tag }}"
91+
args:
92+
- "--v=5"
93+
- "--endpoint=$(CSI_ENDPOINT)"
94+
ports:
95+
- containerPort: 29622
96+
name: healthz
97+
protocol: TCP
98+
- containerPort: 29624
99+
name: metrics
100+
protocol: TCP
101+
livenessProbe:
102+
failureThreshold: 5
103+
httpGet:
104+
path: /healthz
105+
port: healthz
106+
initialDelaySeconds: 30
107+
timeoutSeconds: 10
108+
periodSeconds: 30
109+
env:
110+
- name: AZURE_CREDENTIAL_FILE
111+
valueFrom:
112+
configMapKeyRef:
113+
name: azure-cred-file
114+
key: path
115+
optional: true
116+
- name: CSI_ENDPOINT
117+
value: unix:///csi/csi.sock
118+
imagePullPolicy: {{ .Values.image.blobfuse.pullPolicy }}
119+
volumeMounts:
120+
- mountPath: /csi
121+
name: socket-dir
122+
- mountPath: /etc/kubernetes/
123+
name: azure-cred
124+
- mountPath: /var/lib/waagent/ManagedIdentity-Settings
125+
readOnly: true
126+
name: msi
127+
resources:
128+
limits:
129+
cpu: 1
130+
memory: 1Gi
131+
requests:
132+
cpu: 10m
133+
memory: 20Mi
134+
volumes:
135+
- name: socket-dir
136+
emptyDir: {}
137+
- name: azure-cred
138+
hostPath:
139+
path: /etc/kubernetes/
140+
type: Directory
141+
- name: msi
142+
hostPath:
143+
path: /var/lib/waagent/ManagedIdentity-Settings
144+
---
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
apiVersion: storage.k8s.io/v1beta1
3+
kind: CSIDriver
4+
metadata:
5+
name: blobfuse.csi.azure.com
6+
spec:
7+
attachRequired: true
8+
podInfoOnMount: true
Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
kind: DaemonSet
2+
apiVersion: apps/v1
3+
metadata:
4+
name: csi-blobfuse-node
5+
namespace: {{ .Release.Namespace }}
6+
{{ include "blobfuse.labels" . | indent 2 }}
7+
spec:
8+
selector:
9+
matchLabels:
10+
app: csi-blobfuse-node
11+
template:
12+
metadata:
13+
{{ include "blobfuse.labels" . | indent 6 }}
14+
app: csi-blobfuse-node
15+
spec:
16+
hostNetwork: true
17+
serviceAccountName: csi-blobfuse-node-sa
18+
nodeSelector:
19+
kubernetes.io/os: linux
20+
priorityClassName: system-node-critical
21+
tolerations:
22+
- operator: "Exists"
23+
containers:
24+
- name: liveness-probe
25+
imagePullPolicy: {{ .Values.image.livenessProbe.pullPolicy }}
26+
volumeMounts:
27+
- mountPath: /csi
28+
name: socket-dir
29+
image: "{{ .Values.image.livenessProbe.repository }}:{{ .Values.image.livenessProbe.tag }}"
30+
args:
31+
- --csi-address=/csi/csi.sock
32+
- --connection-timeout=3s
33+
- --health-port=29623
34+
- --v=5
35+
resources:
36+
limits:
37+
cpu: 1
38+
memory: 1Gi
39+
requests:
40+
cpu: 10m
41+
memory: 20Mi
42+
- name: node-driver-registrar
43+
image: "{{ .Values.image.nodeDriverRegistrar.repository }}:{{ .Values.image.nodeDriverRegistrar.tag }}"
44+
args:
45+
- --csi-address=$(ADDRESS)
46+
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
47+
- --v=5
48+
lifecycle:
49+
preStop:
50+
exec:
51+
command: ["/bin/sh", "-c", "rm -rf /registration/blobfuse.csi.azure.com-reg.sock /csi/csi.sock"]
52+
env:
53+
- name: ADDRESS
54+
value: /csi/csi.sock
55+
- name: DRIVER_REG_SOCK_PATH
56+
value: /var/lib/kubelet/plugins/blobfuse.csi.azure.com/csi.sock
57+
volumeMounts:
58+
- name: socket-dir
59+
mountPath: /csi
60+
- name: registration-dir
61+
mountPath: /registration
62+
resources:
63+
limits:
64+
cpu: 1
65+
memory: 1Gi
66+
requests:
67+
cpu: 10m
68+
memory: 20Mi
69+
- name: blobfuse
70+
image: "{{ .Values.image.blobfuse.repository }}:{{ .Values.image.blobfuse.tag }}"
71+
args:
72+
- "--v=5"
73+
- "--endpoint=$(CSI_ENDPOINT)"
74+
- "--nodeid=$(KUBE_NODE_NAME)"
75+
- "--metrics-address=0.0.0.0:{{ .Values.node.metricsPort }}"
76+
ports:
77+
- containerPort: 29623
78+
name: healthz
79+
protocol: TCP
80+
- containerPort: {{ .Values.node.metricsPort }}
81+
name: metrics
82+
protocol: TCP
83+
livenessProbe:
84+
failureThreshold: 5
85+
httpGet:
86+
path: /healthz
87+
port: healthz
88+
initialDelaySeconds: 30
89+
timeoutSeconds: 10
90+
periodSeconds: 30
91+
env:
92+
- name: AZURE_CREDENTIAL_FILE
93+
valueFrom:
94+
configMapKeyRef:
95+
name: azure-cred-file
96+
key: path
97+
optional: true
98+
- name: CSI_ENDPOINT
99+
value: unix:///csi/csi.sock
100+
- name: KUBE_NODE_NAME
101+
valueFrom:
102+
fieldRef:
103+
apiVersion: v1
104+
fieldPath: spec.nodeName
105+
imagePullPolicy: {{ .Values.image.pullPolicy }}
106+
securityContext:
107+
privileged: true
108+
volumeMounts:
109+
- mountPath: /csi
110+
name: socket-dir
111+
- mountPath: /var/lib/kubelet/
112+
mountPropagation: Bidirectional
113+
name: mountpoint-dir
114+
- mountPath: /etc/kubernetes/
115+
name: azure-cred
116+
- mountPath: /var/lib/waagent/ManagedIdentity-Settings
117+
readOnly: true
118+
name: msi
119+
- mountPath: /mnt
120+
name: blobfuse-cache
121+
resources:
122+
limits:
123+
cpu: 4
124+
memory: 6Gi
125+
requests:
126+
cpu: 10m
127+
memory: 20Mi
128+
volumes:
129+
- hostPath:
130+
path: /var/lib/kubelet/plugins/blobfuse.csi.azure.com
131+
type: DirectoryOrCreate
132+
name: socket-dir
133+
- hostPath:
134+
path: /var/lib/kubelet/
135+
type: DirectoryOrCreate
136+
name: mountpoint-dir
137+
- hostPath:
138+
path: /var/lib/kubelet/plugins_registry/
139+
type: DirectoryOrCreate
140+
name: registration-dir
141+
- hostPath:
142+
path: /etc/kubernetes/
143+
type: Directory
144+
name: azure-cred
145+
- hostPath:
146+
path: /var/lib/waagent/ManagedIdentity-Settings
147+
name: msi
148+
- hostPath:
149+
path: /mnt
150+
name: blobfuse-cache

0 commit comments

Comments
 (0)