@@ -2,6 +2,7 @@ apiVersion: cluster.x-k8s.io/v1beta1
2
2
kind : Cluster
3
3
metadata :
4
4
labels :
5
+ ccm : external
5
6
cni : ${CLUSTER_NAME}-crs-0
6
7
csi : external
7
8
name : ${CLUSTER_NAME}
@@ -39,19 +40,19 @@ spec:
39
40
clusterConfiguration :
40
41
apiServer :
41
42
extraArgs :
42
- cloud-provider : aws
43
+ cloud-provider : external
43
44
controllerManager :
44
45
extraArgs :
45
- cloud-provider : aws
46
+ cloud-provider : external
46
47
initConfiguration :
47
48
nodeRegistration :
48
49
kubeletExtraArgs :
49
- cloud-provider : aws
50
+ cloud-provider : external
50
51
name : ' {{ ds.meta_data.local_hostname }}'
51
52
joinConfiguration :
52
53
nodeRegistration :
53
54
kubeletExtraArgs :
54
- cloud-provider : aws
55
+ cloud-provider : external
55
56
name : ' {{ ds.meta_data.local_hostname }}'
56
57
machineTemplate :
57
58
infrastructureRef :
@@ -118,7 +119,7 @@ spec:
118
119
joinConfiguration :
119
120
nodeRegistration :
120
121
kubeletExtraArgs :
121
- cloud-provider : aws
122
+ cloud-provider : external
122
123
name : ' {{ ds.meta_data.local_hostname }}'
123
124
---
124
125
apiVersion : v1
@@ -142,6 +143,19 @@ spec:
142
143
---
143
144
apiVersion : addons.cluster.x-k8s.io/v1beta1
144
145
kind : ClusterResourceSet
146
+ metadata :
147
+ name : crs-ccm
148
+ spec :
149
+ clusterSelector :
150
+ matchLabels :
151
+ ccm : external
152
+ resources :
153
+ - kind : ConfigMap
154
+ name : cloud-controller-manager-addon
155
+ strategy : ApplyOnce
156
+ ---
157
+ apiVersion : addons.cluster.x-k8s.io/v1beta1
158
+ kind : ClusterResourceSet
145
159
metadata :
146
160
name : crs-csi
147
161
spec :
@@ -154,6 +168,193 @@ spec:
154
168
strategy : ApplyOnce
155
169
---
156
170
apiVersion : v1
171
+ data :
172
+ aws-ccm-external.yaml : |
173
+ ---
174
+ apiVersion: apps/v1
175
+ kind: DaemonSet
176
+ metadata:
177
+ name: aws-cloud-controller-manager
178
+ namespace: kube-system
179
+ labels:
180
+ k8s-app: aws-cloud-controller-manager
181
+ spec:
182
+ selector:
183
+ matchLabels:
184
+ k8s-app: aws-cloud-controller-manager
185
+ updateStrategy:
186
+ type: RollingUpdate
187
+ template:
188
+ metadata:
189
+ labels:
190
+ k8s-app: aws-cloud-controller-manager
191
+ spec:
192
+ nodeSelector:
193
+ node-role.kubernetes.io/control-plane: ""
194
+ priorityClassName: system-node-critical
195
+ tolerations:
196
+ - key: node.cloudprovider.kubernetes.io/uninitialized
197
+ value: "true"
198
+ effect: NoSchedule
199
+ - key: node-role.kubernetes.io/master
200
+ effect: NoSchedule
201
+ - effect: NoSchedule
202
+ key: node-role.kubernetes.io/control-plane
203
+ # Mark the pod as a critical add-on for rescheduling.
204
+ - key: CriticalAddonsOnly
205
+ operator: Exists
206
+ - effect: NoExecute
207
+ operator: Exists
208
+ affinity:
209
+ nodeAffinity:
210
+ requiredDuringSchedulingIgnoredDuringExecution:
211
+ nodeSelectorTerms:
212
+ - matchExpressions:
213
+ - key: node-role.kubernetes.io/control-plane
214
+ operator: Exists
215
+ - matchExpressions:
216
+ - key: node-role.kubernetes.io/master
217
+ operator: Exists
218
+ serviceAccountName: cloud-controller-manager
219
+ containers:
220
+ - name: aws-cloud-controller-manager
221
+ image: gcr.io/k8s-staging-provider-aws/cloud-controller-manager:v1.20.0-alpha.0
222
+ args:
223
+ - --v=2
224
+ resources:
225
+ requests:
226
+ cpu: 200m
227
+ hostNetwork: true
228
+ ---
229
+ apiVersion: v1
230
+ kind: ServiceAccount
231
+ metadata:
232
+ name: cloud-controller-manager
233
+ namespace: kube-system
234
+ ---
235
+ apiVersion: rbac.authorization.k8s.io/v1
236
+ kind: RoleBinding
237
+ metadata:
238
+ name: cloud-controller-manager:apiserver-authentication-reader
239
+ namespace: kube-system
240
+ roleRef:
241
+ apiGroup: rbac.authorization.k8s.io
242
+ kind: Role
243
+ name: extension-apiserver-authentication-reader
244
+ subjects:
245
+ - apiGroup: ""
246
+ kind: ServiceAccount
247
+ name: cloud-controller-manager
248
+ namespace: kube-system
249
+ ---
250
+ apiVersion: rbac.authorization.k8s.io/v1
251
+ kind: ClusterRole
252
+ metadata:
253
+ name: system:cloud-controller-manager
254
+ rules:
255
+ - apiGroups:
256
+ - ""
257
+ resources:
258
+ - events
259
+ verbs:
260
+ - create
261
+ - patch
262
+ - update
263
+ - apiGroups:
264
+ - ""
265
+ resources:
266
+ - nodes
267
+ verbs:
268
+ - '*'
269
+ - apiGroups:
270
+ - ""
271
+ resources:
272
+ - nodes/status
273
+ verbs:
274
+ - patch
275
+ - apiGroups:
276
+ - ""
277
+ resources:
278
+ - services
279
+ verbs:
280
+ - list
281
+ - patch
282
+ - update
283
+ - watch
284
+ - apiGroups:
285
+ - ""
286
+ resources:
287
+ - services/status
288
+ verbs:
289
+ - list
290
+ - patch
291
+ - update
292
+ - watch
293
+ - apiGroups:
294
+ - ""
295
+ resources:
296
+ - serviceaccounts
297
+ verbs:
298
+ - create
299
+ - apiGroups:
300
+ - ""
301
+ resources:
302
+ - persistentvolumes
303
+ verbs:
304
+ - get
305
+ - list
306
+ - update
307
+ - watch
308
+ - apiGroups:
309
+ - ""
310
+ resources:
311
+ - configmaps
312
+ verbs:
313
+ - list
314
+ - watch
315
+ - apiGroups:
316
+ - ""
317
+ resources:
318
+ - endpoints
319
+ verbs:
320
+ - create
321
+ - get
322
+ - list
323
+ - watch
324
+ - update
325
+ - apiGroups:
326
+ - coordination.k8s.io
327
+ resources:
328
+ - leases
329
+ verbs:
330
+ - create
331
+ - get
332
+ - list
333
+ - watch
334
+ - update
335
+ ---
336
+ kind: ClusterRoleBinding
337
+ apiVersion: rbac.authorization.k8s.io/v1
338
+ metadata:
339
+ name: system:cloud-controller-manager
340
+ roleRef:
341
+ apiGroup: rbac.authorization.k8s.io
342
+ kind: ClusterRole
343
+ name: system:cloud-controller-manager
344
+ subjects:
345
+ - apiGroup: ""
346
+ kind: ServiceAccount
347
+ name: cloud-controller-manager
348
+ namespace: kube-system
349
+ kind : ConfigMap
350
+ metadata :
351
+ annotations :
352
+ note : generated
353
+ labels :
354
+ type : generated
355
+ name : cloud-controller-manager-addon
356
+ ---
357
+ apiVersion : v1
157
358
data :
158
359
aws-efs-csi-external.yaml : |-
159
360
apiVersion: v1
0 commit comments