Configurazione iniziale per cluster k8s su Proxmox

This commit is contained in:
2025-07-31 14:15:02 +00:00
parent 74fbf8f73a
commit bb9ed1e76e
6 changed files with 264 additions and 0 deletions

View File

@@ -0,0 +1,35 @@
#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