36 lines
1.3 KiB
YAML
36 lines
1.3 KiB
YAML
#cloud-config
|
|
package_update: true
|
|
package_upgrade: true
|
|
packages:
|
|
- apt-transport-https
|
|
- ca-certificates
|
|
- curl
|
|
- containerd
|
|
|
|
runcmd:
|
|
# Disabilita swap (richiesto da kubelet)
|
|
- swapoff -a
|
|
- sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
|
|
|
|
# Carica moduli del kernel e imposta sysctl
|
|
- modprobe overlay
|
|
- modprobe br_netfilter
|
|
- echo "net.bridge.bridge-nf-call-iptables = 1" >> /etc/sysctl.conf
|
|
- echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
|
|
- sysctl -p
|
|
|
|
# Installa Kubernetes
|
|
- 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
|
|
- apt-get install -y kubelet=${k8s_version} kubeadm=${k8s_version} kubectl=${k8s_version}
|
|
- apt-mark hold kubelet kubeadm kubectl
|
|
|
|
# Inizializza il cluster con kubeadm
|
|
- kubeadm init --pod-network-cidr=${pod_network_cidr} --apiserver-advertise-address=${advertise_ip}
|
|
|
|
# Configura kubectl per l'utente 'ubuntu' (o il tuo utente di default nel template)
|
|
- mkdir -p /home/ubuntu/.kube
|
|
- cp -i /etc/kubernetes/admin.conf /home/ubuntu/.kube/config
|
|
- chown -R ubuntu:ubuntu /home/ubuntu/.kube
|