Files
tofu-kubeleo/cloud-init-script.yaml

26 lines
1.0 KiB
YAML

#cloud-config
runcmd:
- swapoff -a
- sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- apt-get update -y
- apt-get install -y apt-transport-https ca-certificates curl containerd
- modprobe overlay
- modprobe br_netfilter
- |
cat <<EOF | tee /etc/sysctl.d/99-kubernetes-cri.conf
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
EOF
- sysctl --system
- curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
- echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | tee /etc/apt/sources.list.d/kubernetes.list
- apt-get update -y
%{ if is_control_plane ~}
- apt-get install -y kubelet=${k8s_version} kubeadm=${k8s_version} kubectl=${k8s_version}
- apt-mark hold kubelet kubeadm kubectl
%{ else ~}
- apt-get install -y kubelet=${k8s_version} kubeadm=${k8s_version}
- apt-mark hold kubelet kubeadm
%{ endif ~}