Installation et configuration avancée de K3s avec Cilium

Installation et configuration avancée de K3s avec Cilium

Dans cet article, nous allons explorer en détail l’installation et la configuration de K3s, une distribution légère de Kubernetes, en utilisant Cilium comme solution de mise en réseau (CNI). Cette configuration avancée nous permettra de remplacer certains composants par défaut de K3s par des alternatives plus performantes.

Pourquoi choisir Cilium ?

Par défaut, K3s est livré avec le CNI Flannel, un ingress basé sur Traefik, un load balancer basé sur Klipper, et le kube-proxy natif. Cependant, nous allons opter pour Cilium comme CNI, car il offre des fonctionnalités avancées, notamment un ingress et un load balancer intégrés, éliminant ainsi le besoin de composants supplémentaires comme MetalLB.

Installation de K3s

Commençons par installer K3s avec une configuration personnalisée :

 

 

Cette commande installe K3s en désactivant Traefik, le service load balancer, kube-proxy, et la politique réseau par défaut.

Configuration de Cilium

Exportation du kubeconfig

 

 

Installation du CLI Cilium

 

 

 Installation de Cilium

 

Configuration de Cilium comme remplaçant de kube-proxy

 

 

Remplacez <votre_ip_serveur_api> par l’adresse IP physique de votre machine Linux.

Vérification de la configuration

 

 

Vous devriez voir : KubeProxyReplacement: True

Si ce n’est pas le cas, rechargez la configuration de Cilium :

 

 

 Activation de l’ingress Cilium

 

Configuration du load balancer Cilium

Créez un fichier pool.yaml avec le contenu suivant :

 

 

Appliquez la configuration :

 

 

 

Activez les annonces L2 :

 

 

Créez un fichier L2Annonces.yaml :

 

Appliquez la configuration :

 

 

Test avec un déploiement WordPress

Pour tester votre configuration, vous pouvez utiliser le déploiement WordPress suivant. Ce déploiement inclut WordPress, MySQL, des services associés, et des volumes persistants.

Voici le YAML complet pour le déploiement :

Pour déployer cette configuration, sauvegardez le YAML ci-dessus dans un fichier (par exemple, wordpress-deployment.yaml), puis appliquez-le avec la commande suivante :

kubectl apply -f wordpress-deployment.yaml

N’oubliez pas de remplacer votre_utilisateur, votre_mot_de_passe, et votre_mot_de_passe_root dans la section Secret par vos propres valeurs sécurisées avant de déployer.

Conclusion

Cette configuration avancée de K3s avec Cilium offre une solution Kubernetes légère mais puissante, avec des fonctionnalités de mise en réseau, d’ingress et de load balancing intégrées. Elle est particulièrement adaptée pour les environnements de développement ou les petits clusters de production. Le déploiement WordPress fourni vous permet de tester rapidement votre configuration et de vérifier que tous les composants fonctionnent correctement ensemble.

Leave a Reply