K3s
K3s est une distribution de Kubernetes conçue pour être légère et simple à installer, ce qui la rend particulièrement adaptée pour les environnements avec des ressources limitées.
Qu'est-ce que K3s ?
K3s est une distribution de Kubernetes allégée développée par Rancher Labs (désormais faisant partie de SUSE). Elle est conçue pour être rapide à installer, ne nécessitant qu'un seul binaire de moins de 100 Mo. K3s supprime les pilotes non essentiels et des fonctionnalités facultatives pour simplifier son installation. Une autre solution aurait été d'installer RKE2 qui est une autre distribution de Kubernetes par Rancher et qui est une évolution de K3s conçue pour etre plus stricts dans les environnements de productions et plus complet.

Préparation du serveur Ubuntu
Notre serveur sera une serveur Ubuntu 24.04 LTS.
Ajouter une ip fixe au serveur:
Appliquer la configuration avec la commande
Nous devons maintenant créer un fichier de configuration qui sert à modifier les paramètres du noyau linux.
net.bridge.bridge-nf-call-iptables = 1: Active le filtrage des paquets IP à travers les ponts réseau (bridges) pariptables. Cela permet àiptablesde filtrer et de manipuler le trafic des conteneurs gérés par Kubernetes, essentiel pour implémenter des politiques de sécurité au niveau du réseau.net.ipv4.ip_forward = 1: Active le routage IP, permettant au serveur de fonctionner comme un routeur pour transmettre le trafic IP entre les interfaces réseau. C'est crucial pour le fonctionnement des environnements de réseau dans Kubernetes, où différents pods et services peuvent avoir besoin de communiquer à travers diverses interfaces et réseaux.
Appliquer votre fichier
Installer les dépendances et packages nécessaires.
Installation de K3s
Nous allons suivre l'installation de base qui se trouve sur le site de documentation K3s
Serveur unique
Voici la ligne de commande pour lancer l'installation.
Cela installation le service K3s qui sera lancé automatiquement au boot, ainsi que les utilitaires comme kubectl, crictl, ctr, k3s-killall.sh et k3s-uninstall.sh
Votre kubeconfig se trouvera dans /etc/rancher/k3s/k3s.yaml
Serveur cluster
Pour configurer d'autres serveurs vous devrez utiliser cette commande:
Cela définira l'url du cluster ainsi que le token qui sera partager entre tous.
Vous pouvez choisir de ne pas installer le CNI par défaut et d'installer celui de votre choix:
Configuration de base
local-patch directory
Le local-path dans le contexte de Kubernetes, et plus spécifiquement dans des distributions comme K3s, se réfère à un type de provisionneur de stockage persistant. Ce provisionneur permet aux clusters Kubernetes de facilement utiliser le stockage disponible sur les nœuds locaux pour stocker des données de manière persistante, sans nécessiter des solutions de stockage externes ou réseau complexes
Par défaut le répertoire par défaut est /var/lib/rancher/k3s/storage, si comme moi vous voulez le déplacer sur un autre répertoire comme /opt/local-path voici comment faire:
Création du répertoire
Modification du ConfigMap
et remplacer
par
Trouver le pod
local-path-provisioner
Relancer le pod
pout tester vous pouvez créer le fichier pvc.yaml et pod.yaml puis les exécuter sur le noeud en question
Vous pouvez utiliser ces commandes pour vérifier:
MetalLB
Si vous comptez installer MetalLB sur K3s, vous devrez désactiver le service loadbalancer nommé Klipper puis suivre mon installation.
deux méthodes s'offre à vous, soit le désactiver lors de l'installation ou alors modifier le fichier de service k3s.service tous les deux avec la commande --disable=servicelb
Editez le fichier /etc/systemd/system/k3s.service
remplacer
par
une fois fait relancer le service avec la commande:
Fin
Je ne vais pas m'étaler sur toutes les configurations mais vous retrouver tout le nécessaire ici
Mis à jour
