Skip to content

Commit 70c1077

Browse files
committed
doc: add v0.3.0 chart
1 parent 4f805af commit 70c1077

10 files changed

+511
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
apiVersion: v1
2+
appVersion: 0.3.0
3+
description: Blobfuse Container Storage Interface (CSI) Storage Plugin
4+
name: blobfuse-csi-driver
5+
version: 0.3.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: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
creationTimestamp: null
5+
name: csidrivers.csi.storage.k8s.io
6+
{{ include "blobfuse.labels" . | indent 2 }}
7+
spec:
8+
group: csi.storage.k8s.io
9+
names:
10+
kind: CSIDriver
11+
plural: csidrivers
12+
scope: Cluster
13+
validation:
14+
openAPIV3Schema:
15+
properties:
16+
spec:
17+
description: Specification of the CSI Driver.
18+
properties:
19+
attachRequired:
20+
description:
21+
Indicates this CSI volume driver requires an attach operation,
22+
and that Kubernetes should call attach and wait for any attach operation
23+
to complete before proceeding to mount.
24+
type: boolean
25+
podInfoOnMountVersion:
26+
description:
27+
Indicates this CSI volume driver requires additional pod
28+
information (like podName, podUID, etc.) during mount operations.
29+
type: string
30+
version: v1alpha1
31+
status:
32+
acceptedNames:
33+
kind: ""
34+
plural: ""
35+
conditions: []
36+
storedVersions: []
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: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
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: 1
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+
serviceAccountName: csi-blobfuse-controller-sa
18+
nodeSelector:
19+
beta.kubernetes.io/os: linux
20+
priorityClassName: system-cluster-critical
21+
containers:
22+
- name: csi-provisioner
23+
image: quay.io/k8scsi/csi-provisioner:v1.0.1
24+
args:
25+
- "--provisioner=blobfuse.csi.azure.com"
26+
- "--csi-address=$(ADDRESS)"
27+
- "--connection-timeout=15s"
28+
env:
29+
- name: ADDRESS
30+
value: /csi/csi.sock
31+
imagePullPolicy: Always
32+
volumeMounts:
33+
- mountPath: /csi
34+
name: socket-dir
35+
- name: csi-attacher
36+
image: quay.io/k8scsi/csi-attacher:v1.0.1
37+
args:
38+
- --v=5
39+
- --csi-address=$(ADDRESS)
40+
- --timeout=120s
41+
env:
42+
- name: ADDRESS
43+
value: /csi/csi.sock
44+
imagePullPolicy: Always
45+
volumeMounts:
46+
- mountPath: /csi
47+
name: socket-dir
48+
- name: cluster-driver-registrar
49+
image: quay.io/k8scsi/csi-cluster-driver-registrar:v1.0.1
50+
args:
51+
- --csi-address=$(ADDRESS)
52+
- --driver-requires-attachment=true
53+
- --v=5
54+
env:
55+
- name: ADDRESS
56+
value: /csi/csi.sock
57+
volumeMounts:
58+
- name: socket-dir
59+
mountPath: /csi
60+
- name: liveness-probe
61+
image: quay.io/k8scsi/livenessprobe:v1.1.0
62+
args:
63+
- --csi-address=/csi/csi.sock
64+
- --connection-timeout=3s
65+
- --health-port=9802
66+
volumeMounts:
67+
- name: socket-dir
68+
mountPath: /csi
69+
- name: blobfuse
70+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
71+
args:
72+
- "--v=5"
73+
- "--endpoint=$(CSI_ENDPOINT)"
74+
- "--nodeid=$(KUBE_NODE_NAME)"
75+
ports:
76+
- containerPort: 9802
77+
name: healthz
78+
protocol: TCP
79+
livenessProbe:
80+
failureThreshold: 5
81+
httpGet:
82+
path: /healthz
83+
port: healthz
84+
initialDelaySeconds: 30
85+
timeoutSeconds: 10
86+
periodSeconds: 30
87+
env:
88+
- name: AZURE_CREDENTIAL_FILE
89+
value: "/etc/kubernetes/azure.json"
90+
- name: CSI_ENDPOINT
91+
value: unix:///csi/csi.sock
92+
imagePullPolicy: {{ .Values.image.pullPolicy }}
93+
volumeMounts:
94+
- mountPath: /csi
95+
name: socket-dir
96+
- mountPath: /etc/kubernetes/
97+
name: azure-cred
98+
- mountPath: /var/lib/waagent/ManagedIdentity-Settings
99+
readOnly: true
100+
name: msi
101+
volumes:
102+
- name: socket-dir
103+
emptyDir: {}
104+
- name: azure-cred
105+
hostPath:
106+
path: /etc/kubernetes/
107+
type: Directory
108+
- name: msi
109+
hostPath:
110+
path: /var/lib/waagent/ManagedIdentity-Settings
Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
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+
nodeSelector:
18+
beta.kubernetes.io/os: linux
19+
priorityClassName: system-node-critical
20+
containers:
21+
- name: liveness-probe
22+
imagePullPolicy: Always
23+
volumeMounts:
24+
- mountPath: /csi
25+
name: socket-dir
26+
image: quay.io/k8scsi/livenessprobe:v1.0.2
27+
args:
28+
- --csi-address=/csi/csi.sock
29+
- --connection-timeout=3s
30+
- --health-port=9802
31+
- name: node-driver-registrar
32+
image: quay.io/k8scsi/csi-node-driver-registrar:v1.1.0
33+
args:
34+
- --csi-address=$(ADDRESS)
35+
- --kubelet-registration-path=$(DRIVER_REG_SOCK_PATH)
36+
- --v=5
37+
lifecycle:
38+
preStop:
39+
exec:
40+
command: ["/bin/sh", "-c", "rm -rf /registration/blobfuse.csi.azure.com-reg.sock /csi/csi.sock"]
41+
env:
42+
- name: ADDRESS
43+
value: /csi/csi.sock
44+
- name: DRIVER_REG_SOCK_PATH
45+
value: /var/lib/kubelet/plugins/blobfuse.csi.azure.com/csi.sock
46+
volumeMounts:
47+
- name: socket-dir
48+
mountPath: /csi
49+
- name: registration-dir
50+
mountPath: /registration
51+
- name: blobfuse
52+
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
53+
args:
54+
- "--v=5"
55+
- "--endpoint=$(CSI_ENDPOINT)"
56+
- "--nodeid=$(KUBE_NODE_NAME)"
57+
ports:
58+
- containerPort: 9802
59+
name: healthz
60+
protocol: TCP
61+
livenessProbe:
62+
failureThreshold: 5
63+
httpGet:
64+
path: /healthz
65+
port: healthz
66+
initialDelaySeconds: 30
67+
timeoutSeconds: 10
68+
periodSeconds: 30
69+
env:
70+
- name: AZURE_CREDENTIAL_FILE
71+
value: "/etc/kubernetes/azure.json"
72+
- name: CSI_ENDPOINT
73+
value: unix:///csi/csi.sock
74+
- name: KUBE_NODE_NAME
75+
valueFrom:
76+
fieldRef:
77+
apiVersion: v1
78+
fieldPath: spec.nodeName
79+
imagePullPolicy: {{ .Values.image.pullPolicy }}
80+
securityContext:
81+
privileged: true
82+
volumeMounts:
83+
- mountPath: /csi
84+
name: socket-dir
85+
- mountPath: /var/lib/kubelet/
86+
mountPropagation: Bidirectional
87+
name: mountpoint-dir
88+
- mountPath: /etc/kubernetes/
89+
name: azure-cred
90+
- mountPath: /var/lib/waagent/ManagedIdentity-Settings
91+
readOnly: true
92+
name: msi
93+
- mountPath: /usr/blob/
94+
name: blobfuse-bin
95+
- mountPath: /mnt
96+
name: blobfuse-cache
97+
volumes:
98+
- hostPath:
99+
path: /var/lib/kubelet/plugins/blobfuse.csi.azure.com
100+
type: DirectoryOrCreate
101+
name: socket-dir
102+
- hostPath:
103+
path: /var/lib/kubelet/
104+
type: DirectoryOrCreate
105+
name: mountpoint-dir
106+
- hostPath:
107+
path: /var/lib/kubelet/plugins_registry/
108+
type: DirectoryOrCreate
109+
name: registration-dir
110+
- hostPath:
111+
path: /etc/kubernetes/
112+
type: Directory
113+
name: azure-cred
114+
- hostPath:
115+
path: /var/lib/waagent/ManagedIdentity-Settings
116+
name: msi
117+
- hostPath:
118+
path: /usr/bin
119+
name: blobfuse-bin
120+
- hostPath:
121+
path: /mnt
122+
name: blobfuse-cache

0 commit comments

Comments
 (0)