Skip to content

Commit 3f87829

Browse files
committed
feat: move to fleet bundles for ec2 kubeadm
Signed-off-by: Carlos Salas <[email protected]>
1 parent a6afd4c commit 3f87829

File tree

8 files changed

+829
-284
lines changed

8 files changed

+829
-284
lines changed

Diff for: examples/applications/ccm/aws/fleet-bundle.yaml

+193
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,193 @@
1+
kind: Bundle
2+
apiVersion: fleet.cattle.io/v1alpha1
3+
metadata:
4+
name: aws-cloud-controller-manager
5+
#namespace: ${TOPOLOGY_NAMESPACE}
6+
spec:
7+
resources:
8+
- content: |
9+
apiVersion: apps/v1
10+
kind: DaemonSet
11+
metadata:
12+
name: aws-cloud-controller-manager
13+
namespace: kube-system
14+
labels:
15+
k8s-app: aws-cloud-controller-manager
16+
spec:
17+
selector:
18+
matchLabels:
19+
k8s-app: aws-cloud-controller-manager
20+
updateStrategy:
21+
type: RollingUpdate
22+
template:
23+
metadata:
24+
labels:
25+
k8s-app: aws-cloud-controller-manager
26+
spec:
27+
nodeSelector:
28+
node-role.kubernetes.io/control-plane: ""
29+
tolerations:
30+
- key: node.cloudprovider.kubernetes.io/uninitialized
31+
value: "true"
32+
effect: NoSchedule
33+
- key: node-role.kubernetes.io/control-plane
34+
effect: NoSchedule
35+
affinity:
36+
nodeAffinity:
37+
requiredDuringSchedulingIgnoredDuringExecution:
38+
nodeSelectorTerms:
39+
- matchExpressions:
40+
- key: node-role.kubernetes.io/control-plane
41+
operator: Exists
42+
serviceAccountName: cloud-controller-manager
43+
containers:
44+
- name: aws-cloud-controller-manager
45+
image: registry.k8s.io/provider-aws/cloud-controller-manager:v1.28.3
46+
args:
47+
- --v=2
48+
- --cloud-provider=aws
49+
- --use-service-account-credentials=true
50+
- --configure-cloud-routes=false
51+
resources:
52+
requests:
53+
cpu: 200m
54+
hostNetwork: true
55+
---
56+
apiVersion: v1
57+
kind: ServiceAccount
58+
metadata:
59+
name: cloud-controller-manager
60+
namespace: kube-system
61+
---
62+
apiVersion: rbac.authorization.k8s.io/v1
63+
kind: RoleBinding
64+
metadata:
65+
name: cloud-controller-manager:apiserver-authentication-reader
66+
namespace: kube-system
67+
roleRef:
68+
apiGroup: rbac.authorization.k8s.io
69+
kind: Role
70+
name: extension-apiserver-authentication-reader
71+
subjects:
72+
- apiGroup: ""
73+
kind: ServiceAccount
74+
name: cloud-controller-manager
75+
namespace: kube-system
76+
---
77+
apiVersion: rbac.authorization.k8s.io/v1
78+
kind: ClusterRole
79+
metadata:
80+
name: system:cloud-controller-manager
81+
rules:
82+
- apiGroups:
83+
- ""
84+
resources:
85+
- events
86+
verbs:
87+
- create
88+
- patch
89+
- update
90+
- apiGroups:
91+
- ""
92+
resources:
93+
- nodes
94+
verbs:
95+
- '*'
96+
- apiGroups:
97+
- ""
98+
resources:
99+
- nodes/status
100+
verbs:
101+
- patch
102+
- apiGroups:
103+
- ""
104+
resources:
105+
- services
106+
verbs:
107+
- list
108+
- patch
109+
- update
110+
- watch
111+
- apiGroups:
112+
- ""
113+
resources:
114+
- services/status
115+
verbs:
116+
- list
117+
- patch
118+
- update
119+
- watch
120+
- apiGroups:
121+
- ""
122+
resources:
123+
- serviceaccounts
124+
verbs:
125+
- create
126+
- get
127+
- list
128+
- watch
129+
- apiGroups:
130+
- ""
131+
resources:
132+
- persistentvolumes
133+
verbs:
134+
- get
135+
- list
136+
- update
137+
- watch
138+
- apiGroups:
139+
- ""
140+
resources:
141+
- configmaps
142+
verbs:
143+
- list
144+
- watch
145+
- apiGroups:
146+
- ""
147+
resources:
148+
- endpoints
149+
verbs:
150+
- create
151+
- get
152+
- list
153+
- watch
154+
- update
155+
- apiGroups:
156+
- coordination.k8s.io
157+
resources:
158+
- leases
159+
verbs:
160+
- create
161+
- get
162+
- list
163+
- watch
164+
- update
165+
- apiGroups:
166+
- ""
167+
resources:
168+
- serviceaccounts/token
169+
verbs:
170+
- create
171+
---
172+
kind: ClusterRoleBinding
173+
apiVersion: rbac.authorization.k8s.io/v1
174+
metadata:
175+
name: system:cloud-controller-manager
176+
roleRef:
177+
apiGroup: rbac.authorization.k8s.io
178+
kind: ClusterRole
179+
name: system:cloud-controller-manager
180+
subjects:
181+
- apiGroup: ""
182+
kind: ServiceAccount
183+
name: cloud-controller-manager
184+
namespace: kube-system
185+
name: aws-ccm.yaml
186+
targets:
187+
- clusterSelector:
188+
matchLabels:
189+
cloud-provider: aws
190+
matchExpressions:
191+
- key: clusterclass-name.fleet.addons.cluster.x-k8s.io
192+
operator: In
193+
values: [aws-kubeadm-example]

Diff for: examples/applications/ccm/aws/helm-chart.yaml

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
#apiVersion: fleet.cattle.io/v1alpha1
2+
#kind: HelmApp
3+
#metadata:
4+
# name: aws-ccm
5+
#spec:
6+
# helm:
7+
# releaseName: aws-cloud-controller-manager
8+
# repo: https://kubernetes.github.io/cloud-provider-aws
9+
# chart: aws-cloud-controller-manager
10+
# templateValues:
11+
# image: |-
12+
# repository: registry.k8s.io/provider-aws/cloud-controller-manager
13+
# tag: v1.32.0
14+
# tolerations: |
15+
# - key: node.cloudprovider.kubernetes.io/uninitialized
16+
# value: "true"
17+
# effect: NoSchedule
18+
# - key: node-role.kubernetes.io/control-plane
19+
# effect: NoSchedule
20+
# args: |-
21+
# - --v=2
22+
# - --cloud-provider=aws
23+
# - --use-service-account-credentials=true
24+
# - --allocate-node-cidrs=false
25+
# - --configure-cloud-routes=false
26+
# dnsPolicy: "ClusterFirst"
27+
# nodeSelector: |-
28+
# node-role.kubernetes.io/control-plane: "true"
29+
# insecureSkipTLSVerify: true
30+
# targets:
31+
# - clusterSelector:
32+
# matchLabels:
33+
# cloud-provider: aws
34+
# matchExpressions:
35+
# - key: clusterclass-name.fleet.addons.cluster.x-k8s.io
36+
# operator: In
37+
# values: [aws-kubeadm-example]

Diff for: examples/applications/cni/calico/helm-chart.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,4 @@ spec:
3535
values:
3636
- azure-rke2-example
3737
- vsphere-kubeadm-example
38+
- aws-kubeadm-example

Diff for: examples/applications/csi-driver/aws/helm-chart.yaml

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: fleet.cattle.io/v1alpha1
2+
kind: HelmApp
3+
metadata:
4+
name: aws-csi-driver
5+
spec:
6+
helm:
7+
releaseName: aws-ebs-csi-driver
8+
repo: https://kubernetes-sigs.github.io/aws-ebs-csi-driver
9+
chart: aws-ebs-csi-driver
10+
templateValues:
11+
node: |-
12+
hostNetwork: true
13+
insecureSkipTLSVerify: true
14+
targets:
15+
- clusterSelector:
16+
matchLabels:
17+
csi: aws-ebs-csi-driver
18+
matchExpressions:
19+
- key: clusterclass-name.fleet.addons.cluster.x-k8s.io
20+
operator: In
21+
values: [aws-kubeadm-example]

0 commit comments

Comments
 (0)