Installation Kubernetes
Introduction
Le but de cette documentation est d'installer Kubernetes On utilisera le moteur de docker
Plan d'installation
Nous aurons dans cet example l'architecture suivante
1 master : vm-kube-master 2 worker : vm-kube-node1, vm-kube-node2
Les 3 seront sous debian 12 (bookworm)
Installation
Etape 1 : Mise à jour des systèmes
sudo apt-get update && sudo apt-get full-upgrade
sudo reboot
Etape 2 : Installer l'outil d'amorçage Kubeadm
Nous commencerons par ajouter le référentiel Kubernetes au système. Importez d’abord la clé GPG :
sudo apt install curl apt-transport-https gpg -y
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmour -o /etc/apt/trusted.gpg.d/cgoogle.gpg
Ajoutez le dépôt avec la commande :
sudo tee /etc/apt/sources.list.d/kubernetes.list<<EOF
deb http://apt.kubernetes.io/ kubernetes-xenial main
# deb-src http://apt.kubernetes.io/ kubernetes-xenial main
EOF
Une fois ajouté, mettez à jour l'index du package APT :
sudo apt update
Installez maintenant les outils requis, c'est-à-dire kubectl, kubeadm et kubelet
sudo apt install wget curl vim git kubelet kubeadm kubectl -y
sudo apt-mark hold kubelet kubeadm kubectl
Vérifiez l'installation :
kubectl version --client && kubeadm version
Etape 2 : Désactiver l'échange et activer les modules du noyau
Lors de la rotation d'un cluster Kubernetes avec kubeadm, il est recommandé de désactiver le swap pour plusieurs raisons telles que la stabilité, les performances et la gestion des ressources.
Ici, nous allons désactiver tous les swaps de /proc/swaps avec la commande :
sudo swapoff -a
check :
free -h
La prochaine chose est de le désactiver définitivement dans /etc/fstab
sudo vim /etc/fstab
# Commentez la ligne du swap
Une fois la ligne commentée, enregistrez le fichier et activez les modules Kernel requis :
sudo tee /etc/modules-load.d/k8s.conf <<EOF
overlay
br_netfilter
EOF
Activez les modules avec la commande :
sudo modprobe overlay
sudo modprobe br_netfilter
Modifiez le fichier ci-dessous comme indiqué
sudo tee /etc/sysctl.d/kubernetes.conf<<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
Rechargez les paramètres :
sudo sysctl --system
Etape 3 : Installer et configurer le runtime de conteneur
Tout d’abord, ajoutez le dépôt Docker
sudo apt install -y curl gnupg2 software-properties-common apt-transport-https ca-certificates
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/debian.gpg
sudo add-apt-repository "deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/debian $(lsb_release -cs) stable"
Installez le runtime Docker :
sudo apt update
sudo apt install -y containerd.io docker-ce docker-ce-cli
Créez le répertoire requis :
sudo mkdir -p /etc/systemd/system/docker.service.d
Ensuite, créez le fichier daemon.json :
sudo tee /etc/docker/daemon.json <<EOF
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
Assurez-vous que le service est démarré et activé
sudo systemctl daemon-reload
sudo systemctl restart docker
sudo systemctl enable docker