@@ -3,6 +3,8 @@ kind: Cluster
33metadata :
44 name : " ${CLUSTER_NAME}"
55 namespace : " ${NAMESPACE}"
6+ labels :
7+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
68spec :
79 infrastructureRef :
810 apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
@@ -23,6 +25,8 @@ kind: ProxmoxCluster
2325metadata :
2426 name : " ${CLUSTER_NAME}"
2527 namespace : " ${NAMESPACE}"
28+ labels :
29+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
2630spec :
2731 controlPlaneEndpoint :
2832 host : " ${CONTROLPLANE_HOST}"
@@ -46,6 +50,8 @@ kind: KubeadmControlPlane
4650metadata :
4751 name : " ${CLUSTER_NAME}"
4852 namespace : " ${NAMESPACE}"
53+ labels :
54+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
4955spec :
5056 kubeadmConfigSpec :
5157 clusterConfiguration :
6167 networking :
6268 dnsDomain : cluster.local
6369 serviceSubnet : 10.96.0.0/12
64- podSubnet : 10.98 .0.0/16
70+ podSubnet : 10.244 .0.0/16
6571 initConfiguration :
6672 localAPIEndpoint :
6773 advertiseAddress : " ${CONTROLPLANE_HOST}"
8187 kind : ProxmoxMachineTemplate
8288 name : ${CLUSTER_NAME}-controlplane
8389 replicas : 1
84- version : v1.26.5
90+ version : ${KUBERNETES_VERSION:= v1.27.3}
8591
8692---
8793
@@ -90,6 +96,8 @@ kind: ProxmoxMachineTemplate
9096metadata :
9197 name : ${CLUSTER_NAME}-controlplane
9298 namespace : " ${NAMESPACE}"
99+ labels :
100+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
93101spec :
94102 template :
95103 spec :
@@ -140,9 +148,9 @@ spec:
140148 - " mkdir -p /opt/cni/bin"
141149 - curl -L "https://github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgz" | tar -C "/opt/cni/bin" -xz
142150 - curl -L "https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.27.0/crictl-v1.27.0-linux-amd64.tar.gz" | tar -C "/usr/local/bin" -xz
143- - curl -L --remote-name-all https://dl.k8s.io/release/v1.26.5 /bin/linux/amd64/kubeadm -o /usr/local/bin/kubeadm
151+ - curl -L --remote-name-all https://dl.k8s.io/release/${KUBERNETES_VERSION:= v1.27.3} /bin/linux/amd64/kubeadm -o /usr/local/bin/kubeadm
144152 - chmod +x /usr/local/bin/kubeadm
145- - curl -L --remote-name-all https://dl.k8s.io/release/v1.26.5 /bin/linux/amd64/kubelet -o /usr/local/bin/kubelet
153+ - curl -L --remote-name-all https://dl.k8s.io/release/${KUBERNETES_VERSION:= v1.27.3} /bin/linux/amd64/kubelet -o /usr/local/bin/kubelet
146154 - chmod +x /usr/local/bin/kubelet
147155 - curl -sSL "https://raw.githubusercontent.com/kubernetes/release/v0.15.1/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service" | sed "s:/usr/bin:/usr/local/bin:g" | tee /etc/systemd/system/kubelet.service
148156 - mkdir -p /etc/systemd/system/kubelet.service.d
@@ -155,34 +163,44 @@ apiVersion: cluster.x-k8s.io/v1beta1
155163kind : MachineDeployment
156164metadata :
157165 name : ${CLUSTER_NAME}-md-0
166+ namespace : ${NAMESPACE}
167+ labels :
168+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
158169spec :
159170 clusterName : " ${CLUSTER_NAME}"
160- replicas : 1
171+ replicas : ${WORKER_MACHINE_COUNT}
161172 selector :
162- matchLabels : null
173+ matchLabels : {}
163174 template :
164175 spec :
176+ clusterName : ${CLUSTER_NAME}
165177 bootstrap :
166178 configRef :
167179 apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
168180 kind : KubeadmConfigTemplate
169- name : worker
170- clusterName : " ${CLUSTER_NAME}-md-0"
181+ name : ${CLUSTER_NAME}-md-0
171182 infrastructureRef :
172183 apiVersion : infrastructure.cluster.x-k8s.io/v1beta1
173184 kind : ProxmoxMachineTemplate
174185 name : ${CLUSTER_NAME}-md-0
175- version : v1.26.5
186+ version : ${KUBERNETES_VERSION:= v1.27.3}
176187
177188---
178189
179190apiVersion : bootstrap.cluster.x-k8s.io/v1beta1
180191kind : KubeadmConfigTemplate
181192metadata :
182193 name : ${CLUSTER_NAME}-md-0
194+ namespace : ${NAMESPACE}
195+ labels :
196+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
183197spec :
184198 template :
185199 spec :
200+ joinConfiguration :
201+ nodeRegistration :
202+ kubeletExtraArgs :
203+ cloud-provider : external
186204 postKubeadmCommands :
187205 - " curl -L https://dl.k8s.io/release/v1.27.3/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl"
188206 - " chmod +x /usr/local/bin/kubectl"
@@ -194,14 +212,59 @@ apiVersion: infrastructure.cluster.x-k8s.io/v1beta1
194212kind : ProxmoxMachineTemplate
195213metadata :
196214 name : ${CLUSTER_NAME}-md-0
215+ namespace : ${NAMESPACE}
216+ labels :
217+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
197218spec :
198219 template :
199220 spec :
200221 image :
201222 url : https://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64-disk-kvm.img
202- hardware :
203- cpu : 4
204- memory : 4096
223+ checksum : 86e996f35732d26cd8b0888c46c4309d4d3b04eb6980378cf82b4d3eb2796549
224+ checksumType : sha256
225+ cloudInit :
226+ user :
227+ packages :
228+ - socat
229+ - conntrack
230+ writeFiles :
231+ - path : /etc/modules-load.d/k8s.conf
232+ owner : root:root
233+ permissions : " 0640"
234+ content : overlay\nbr_netfilter
235+ - path : /etc/sysctl.d/k8s.conf
236+ owner : root:root
237+ permissions : " 0640"
238+ content : |
239+ net.bridge.bridge-nf-call-iptables = 1
240+ net.bridge.bridge-nf-call-ip6tables = 1
241+ net.ipv4.ip_forward = 1
242+ runCmd :
243+ - " modprobe overlay"
244+ - " modprobe br_netfilter"
245+ - " sysctl --system"
246+ - " mkdir -p /usr/local/bin"
247+ - curl -L "https://github.com/containerd/containerd/releases/download/v1.7.2/containerd-1.7.2-linux-amd64.tar.gz" | tar Cxvz "/usr/local"
248+ - curl -L "https://raw.githubusercontent.com/containerd/containerd/main/containerd.service" -o /etc/systemd/system/containerd.service
249+ - " mkdir -p /etc/containerd"
250+ - " containerd config default > /etc/containerd/config.toml"
251+ - " sed 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml -i"
252+ - " systemctl daemon-reload"
253+ - " systemctl enable --now containerd"
254+ - " mkdir -p /usr/local/sbin"
255+ - curl -L "https://github.com/opencontainers/runc/releases/download/v1.1.7/runc.amd64" -o /usr/local/sbin/runc
256+ - " chmod 755 /usr/local/sbin/runc"
257+ - " mkdir -p /opt/cni/bin"
258+ - curl -L "https://github.com/containernetworking/plugins/releases/download/v1.3.0/cni-plugins-linux-amd64-v1.3.0.tgz" | tar -C "/opt/cni/bin" -xz
259+ - curl -L "https://github.com/kubernetes-sigs/cri-tools/releases/download/v1.27.0/crictl-v1.27.0-linux-amd64.tar.gz" | tar -C "/usr/local/bin" -xz
260+ - curl -L --remote-name-all https://dl.k8s.io/release/${KUBERNETES_VERSION:=v1.27.3}/bin/linux/amd64/kubeadm -o /usr/local/bin/kubeadm
261+ - chmod +x /usr/local/bin/kubeadm
262+ - curl -L --remote-name-all https://dl.k8s.io/release/${KUBERNETES_VERSION:=v1.27.3}/bin/linux/amd64/kubelet -o /usr/local/bin/kubelet
263+ - chmod +x /usr/local/bin/kubelet
264+ - curl -sSL "https://raw.githubusercontent.com/kubernetes/release/v0.15.1/cmd/kubepkg/templates/latest/deb/kubelet/lib/systemd/system/kubelet.service" | sed "s:/usr/bin:/usr/local/bin:g" | tee /etc/systemd/system/kubelet.service
265+ - mkdir -p /etc/systemd/system/kubelet.service.d
266+ - curl -sSL "https://raw.githubusercontent.com/kubernetes/release/v0.15.1/cmd/kubepkg/templates/latest/deb/kubeadm/10-kubeadm.conf" | sed "s:/usr/bin:/usr/local/bin:g" | tee /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
267+ - " systemctl enable kubelet.service"
205268
206269---
207270
@@ -216,17 +279,19 @@ kind: Secret
216279metadata :
217280 name : " ${CLUSTER_NAME}"
218281 namespace : " ${NAMESPACE}"
282+ labels :
283+ cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
219284type : Opaque
220285
221286---
222287
223288apiVersion : addons.cluster.x-k8s.io/v1beta1
224289kind : ClusterResourceSet
225290metadata :
291+ name : ${CLUSTER_NAME}-crs-0
292+ namespace : " ${NAMESPACE}"
226293 labels :
227294 cluster.x-k8s.io/cluster-name : ' ${CLUSTER_NAME}'
228- name : ${CLUSTER_NAME}-crs-1
229- namespace : " ${NAMESPACE}"
230295spec :
231296 clusterSelector :
232297 matchLabels :
0 commit comments