Préparation et Installation
Préparation :
A Faire sur toutes les machines / VMs
pour plus de simplicité je vais egalement ajouter les hotes dans le fichier hosts afin de faire de la résolution par nom et eviter les problème en cas de soucis de DNS :
fichier /etc/hosts (pensez a l'adapter en fonction de chaque hote) :
#Declaration of Kubernetes nodes
127.0.0.1 k8s-m1
192.168.20.241 k8s-m2
192.168.20.242 k8s-m3
192.168.20.243 k8s-w1
192.168.20.244 k8s-w2
192.168.20.245 k8s-w3
Désactivation du SWAP :
Pour ce faire il faut executer nano /etc/fstab
Ensuite il faut trouver la ligne ou le "SWAP" est mentionné et la commenté en mettant un # devant cette ligne. Suite a ça enregistré et redémarrer la machine.
Installation de Kubernetes
Mise a jour des paquets :
apt update && apt dist-upgrade -y
Installation des dépendances :
apt-get install curl pgp -y
Penser bien a changer le numéro de version avec la version actuelle que vous pouvez retrouver sur ce site : https://kubernetes.io/fr/releases/
echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/34/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/34/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
apt install containerd curl -y && curl -sSL get.docker.com | sh
systemctl enable containerd
configuration de quelques fichier de containerd
Suppression de config.toml (Si nécessaire)
rm /etc/containerd/config.toml
systemctl restart containerd
Ensuite on crée le dossier containerd dans etc si il n'existe pas déjà :
sudo mkdir -p /etc/containerd
Une fois cela fait ont crée la configuration :
containerd config default | sudo tee /etc/containerd/config.toml
On edite la configuration pour modifié ce paramètres de "false" à "true" :
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true
puis on redémarre containerd :
systemctl restart containerd
Ensuite on fait les deux manipulations suivantes :
cat <<'EOF' | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
la deuxième :
cat <<'EOF' | sudo 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
sudo sysctl --system
Puis on redémarre une nouvelle fois containerd : systemctl restart containerd
Pour plus d'inforamtions voici la procédure que j'ai suivi : https://sayakm.me/deploying-a-ha-kubernetes-cluster-on-raspberry-pi-using-kubeadm/?utm_source=chatgpt.com
Installation de Kubernetes (Kubelet - Kubeadm - Kubectl) :
apt-get update && apt-get install kubelet kubeadm kubectl -y && apt-mark hold kubelet kubeadm kubectl
La commande apt-mark permet de fixer la version a celle actuelle de cette manière si quelqu'un vient faire un upgrade du système ce paquet ne se mettra pas à jour.
pour vérifier l'installation vous pouvez taper la commande kubectl et vérifié les noeuds qui sont normalement au nombre de 1 actuellement en tapant : kubectl get nodes
Dernière vérifications (a vérifé si il faut le faire ?) :
On va vérifié si les "cgroups mémoire" sont activer pour ce faire faire la commande : cat /proc/cgroups si enable est egal a "memory" ou à "1" alors c'est bon sinon editer le fichier /boot/firmware/cmdline.txt et ajouter : cgroup_enable=memory puis redémarrer votre hote.