Skip to content

Commit 5362b70

Browse files
prepare release v0.31.4
1 parent 1b2745e commit 5362b70

11 files changed

+1167
-0
lines changed
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
kind: ServiceAccount
2+
apiVersion: v1
3+
metadata:
4+
name: exoscale-csi-controller
5+
namespace: kube-system
6+
---
7+
kind: ClusterRole
8+
apiVersion: rbac.authorization.k8s.io/v1
9+
metadata:
10+
name: exoscale-csi-provisioner
11+
rules:
12+
- apiGroups: [""]
13+
resources: ["persistentvolumes"]
14+
verbs: ["get", "list", "watch", "delete"]
15+
- apiGroups: [""]
16+
resources: ["persistentvolumeclaims"]
17+
verbs: ["get", "list", "watch"]
18+
- apiGroups: ["storage.k8s.io"]
19+
resources: ["storageclasses"]
20+
verbs: ["get", "list", "watch"]
21+
- apiGroups: [""]
22+
resources: ["events"]
23+
verbs: ["list", "watch", "create", "patch"]
24+
- apiGroups: [""]
25+
resources: ["nodes"]
26+
verbs: ["get", "list", "watch"]
27+
- apiGroups: ["storage.k8s.io"]
28+
resources: ["csinodes"]
29+
verbs: ["get", "list", "watch"]
30+
- apiGroups: ["storage.k8s.io"]
31+
resources: ["volumeattachments", "volumeattachments/status"]
32+
verbs: ["get", "list", "watch", "update", "create", "patch"]
33+
- apiGroups: ["snapshot.storage.k8s.io"]
34+
resources: ["volumesnapshots", "volumesnapshots/status", "volumesnapshotclasses", "volumesnapshotcontents", "volumesnapshotcontents/status"]
35+
verbs: ["get", "list", "watch", "update", "create", "patch"]
36+
- apiGroups: ["coordination.k8s.io"]
37+
resources: ["leases"]
38+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
39+
---
40+
kind: ClusterRoleBinding
41+
apiVersion: rbac.authorization.k8s.io/v1
42+
metadata:
43+
name: exoscale-csi-controller
44+
subjects:
45+
- kind: ServiceAccount
46+
name: exoscale-csi-controller
47+
namespace: kube-system
48+
roleRef:
49+
kind: ClusterRole
50+
name: exoscale-csi-provisioner
51+
apiGroup: rbac.authorization.k8s.io
52+
---
53+
kind: ClusterRole
54+
apiVersion: rbac.authorization.k8s.io/v1
55+
metadata:
56+
name: exoscale-csi-attacher
57+
rules:
58+
- apiGroups: [""]
59+
resources: ["persistentvolumes"]
60+
verbs: ["get", "watch", "list", "update", "patch", "delete"]
61+
- apiGroups: [""]
62+
resources: ["nodes"]
63+
verbs: ["get", "watch", "list"]
64+
- apiGroups: ["storage.k8s.io"]
65+
resources: ["csinodes"]
66+
verbs: ["get", "watch", "list", "update", "patch"]
67+
- apiGroups: ["storage.k8s.io"]
68+
resources: ["volumeattachments", "volumeattachments/status"]
69+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
70+
---
71+
kind: ClusterRoleBinding
72+
apiVersion: rbac.authorization.k8s.io/v1
73+
metadata:
74+
name: exoscale-csi-attacher
75+
subjects:
76+
- kind: ServiceAccount
77+
name: exoscale-csi-controller
78+
namespace: kube-system
79+
roleRef:
80+
kind: ClusterRole
81+
name: exoscale-csi-attacher
82+
apiGroup: rbac.authorization.k8s.io
83+
---
84+
kind: ClusterRole
85+
apiVersion: rbac.authorization.k8s.io/v1
86+
metadata:
87+
name: exoscale-csi-snapshotter
88+
rules:
89+
- apiGroups: [""]
90+
resources: ["persistentvolumes", "persistentvolumeclaims", "events"]
91+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
92+
- apiGroups: ["storage.k8s.io"]
93+
resources: ["storageclasses"]
94+
verbs: ["get", "watch", "list"]
95+
- apiGroups: ["snapshot.storage.k8s.io"]
96+
resources: ["volumesnapshots", "volumesnapshots/status", "volumesnapshotclasses", "volumesnapshotcontents"]
97+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
98+
- apiGroups: ["apiextensions.k8s.io"]
99+
resources: ["customresourcedefinitions", "leases"]
100+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
101+
- apiGroups: ["coordination.k8s.io"]
102+
resources: ["leases"]
103+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
104+
---
105+
kind: ClusterRoleBinding
106+
apiVersion: rbac.authorization.k8s.io/v1
107+
metadata:
108+
name: exoscale-csi-snapshotter
109+
subjects:
110+
- kind: ServiceAccount
111+
name: exoscale-csi-controller
112+
namespace: kube-system
113+
roleRef:
114+
kind: ClusterRole
115+
name: exoscale-csi-snapshotter
116+
apiGroup: rbac.authorization.k8s.io
117+
---
118+
kind: ClusterRole
119+
apiVersion: rbac.authorization.k8s.io/v1
120+
metadata:
121+
name: external-resizer
122+
rules:
123+
- apiGroups: [""]
124+
resources: ["persistentvolumes", "persistentvolumeclaims", "persistentvolumeclaims/status"]
125+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
126+
- apiGroups: [""]
127+
resources: ["pods", "events"]
128+
verbs: ["get", "watch", "list"]
129+
- apiGroups: ["coordination.k8s.io"]
130+
resources: ["leases"]
131+
verbs: ["get", "watch", "list", "create", "update", "patch", "delete"]
132+
---
133+
kind: ClusterRoleBinding
134+
apiVersion: rbac.authorization.k8s.io/v1
135+
metadata:
136+
name: csi-resizer-role
137+
subjects:
138+
- kind: ServiceAccount
139+
name: exoscale-csi-controller
140+
namespace: kube-system
141+
roleRef:
142+
kind: ClusterRole
143+
name: external-resizer
144+
apiGroup: rbac.authorization.k8s.io

deployment/0.31.4/controller.yaml

Lines changed: 191 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,191 @@
1+
kind: Deployment
2+
apiVersion: apps/v1
3+
metadata:
4+
name: exoscale-csi-controller
5+
namespace: kube-system
6+
spec:
7+
selector:
8+
matchLabels:
9+
app: exoscale-csi-controller
10+
strategy:
11+
rollingUpdate:
12+
maxSurge: 1
13+
maxUnavailable: 1
14+
type: RollingUpdate
15+
replicas: 2
16+
template:
17+
metadata:
18+
labels:
19+
app: exoscale-csi-controller
20+
spec:
21+
dnsPolicy: Default
22+
priorityClassName: system-cluster-critical
23+
serviceAccount: exoscale-csi-controller
24+
containers:
25+
- name: exoscale-csi-plugin
26+
image: exoscale/csi-driver:0.31.4
27+
imagePullPolicy: Always
28+
args :
29+
- "--endpoint=$(CSI_ENDPOINT)"
30+
- "--mode=controller"
31+
- "--v=4"
32+
env:
33+
- name: CSI_ENDPOINT
34+
value: unix:///var/lib/csi/sockets/pluginproxy/csi.sock
35+
securityContext:
36+
privileged: true # needed for the controller to be able to read instance metadata from CD-ROM device
37+
envFrom:
38+
- secretRef:
39+
name: exoscale-credentials
40+
volumeMounts:
41+
- name: socket-dir
42+
mountPath: /var/lib/csi/sockets/pluginproxy/
43+
- name: device-dir
44+
mountPath: /dev
45+
ports:
46+
- name: healthz
47+
containerPort: 9808
48+
protocol: TCP
49+
livenessProbe:
50+
httpGet:
51+
path: /healthz
52+
port: healthz
53+
initialDelaySeconds: 10
54+
timeoutSeconds: 3
55+
periodSeconds: 2
56+
failureThreshold: 5
57+
resources:
58+
limits:
59+
cpu: 1000m
60+
memory: 500Mi
61+
requests:
62+
cpu: 10m
63+
memory: 20Mi
64+
- name: csi-provisioner
65+
image: registry.k8s.io/sig-storage/csi-provisioner:v3.6.0
66+
args:
67+
- "--v=5"
68+
- "--csi-address=$(CSI_ADDRESS)"
69+
- "--leader-election"
70+
- "--leader-election-lease-duration=30s"
71+
- "--leader-election-renew-deadline=20s"
72+
- "--leader-election-retry-period=10s"
73+
- "--feature-gates=Topology=true"
74+
- "--default-fstype=ext4"
75+
env:
76+
- name: CSI_ADDRESS
77+
value: /var/lib/csi/sockets/pluginproxy/csi.sock
78+
volumeMounts:
79+
- name: socket-dir
80+
mountPath: /var/lib/csi/sockets/pluginproxy/
81+
resources:
82+
limits:
83+
cpu: 1000m
84+
memory: 500Mi
85+
requests:
86+
cpu: 10m
87+
memory: 20Mi
88+
- name: csi-attacher
89+
image: registry.k8s.io/sig-storage/csi-attacher:v4.4.1
90+
args:
91+
- "--v=5"
92+
- "--csi-address=$(CSI_ADDRESS)"
93+
- "--leader-election"
94+
- "--leader-election-lease-duration=30s"
95+
- "--leader-election-renew-deadline=20s"
96+
- "--leader-election-retry-period=10s"
97+
env:
98+
- name: CSI_ADDRESS
99+
value: /var/lib/csi/sockets/pluginproxy/csi.sock
100+
volumeMounts:
101+
- name: socket-dir
102+
mountPath: /var/lib/csi/sockets/pluginproxy/
103+
resources:
104+
limits:
105+
cpu: 1000m
106+
memory: 500Mi
107+
requests:
108+
cpu: 10m
109+
memory: 20Mi
110+
- name: csi-snapshotter
111+
image: registry.k8s.io/sig-storage/csi-snapshotter:v6.3.0
112+
args:
113+
- "--v=5"
114+
- "--csi-address=$(CSI_ADDRESS)"
115+
- "--leader-election"
116+
- "--leader-election-lease-duration=30s"
117+
- "--leader-election-renew-deadline=20s"
118+
- "--leader-election-retry-period=10s"
119+
env:
120+
- name: CSI_ADDRESS
121+
value: /var/lib/csi/sockets/pluginproxy/csi.sock
122+
volumeMounts:
123+
- name: socket-dir
124+
mountPath: /var/lib/csi/sockets/pluginproxy/
125+
resources:
126+
limits:
127+
cpu: 400m
128+
memory: 200Mi
129+
requests:
130+
cpu: 10m
131+
memory: 20Mi
132+
- name: snapshot-controller
133+
image: registry.k8s.io/sig-storage/snapshot-controller:v6.3.0
134+
args:
135+
- "--v=5"
136+
- "--leader-election"
137+
- "--leader-election-lease-duration=30s"
138+
- "--leader-election-renew-deadline=20s"
139+
- "--leader-election-retry-period=10s"
140+
resources:
141+
limits:
142+
cpu: 400m
143+
memory: 200Mi
144+
requests:
145+
cpu: 10m
146+
memory: 20Mi
147+
- name: csi-resizer
148+
image: registry.k8s.io/sig-storage/csi-resizer:v1.9.0
149+
args:
150+
- "--v=5"
151+
- "--csi-address=$(CSI_ADDRESS)"
152+
- "--leader-election"
153+
- "--leader-election-lease-duration=30s"
154+
- "--leader-election-renew-deadline=20s"
155+
- "--leader-election-retry-period=10s"
156+
env:
157+
- name: CSI_ADDRESS
158+
value: /var/lib/csi/sockets/pluginproxy/csi.sock
159+
volumeMounts:
160+
- name: socket-dir
161+
mountPath: /var/lib/csi/sockets/pluginproxy/
162+
resources:
163+
limits:
164+
cpu: 1000m
165+
memory: 500Mi
166+
requests:
167+
cpu: 10m
168+
memory: 20Mi
169+
- name: liveness-probe
170+
image: registry.k8s.io/sig-storage/livenessprobe:v2.11.0
171+
args:
172+
- "--csi-address=$(CSI_ADDRESS)"
173+
env:
174+
- name: CSI_ADDRESS
175+
value: /var/lib/csi/sockets/pluginproxy/csi.sock
176+
volumeMounts:
177+
- name: socket-dir
178+
mountPath: /var/lib/csi/sockets/pluginproxy/
179+
resources:
180+
limits:
181+
cpu: 200m
182+
memory: 100Mi
183+
requests:
184+
cpu: 10m
185+
memory: 20Mi
186+
volumes:
187+
- name: socket-dir
188+
emptyDir: {}
189+
- name: device-dir
190+
hostPath:
191+
path: /dev

0 commit comments

Comments
 (0)