mercredi, septembre 23, 2026
Live Agentic 360
  • Login
  • Home
  • AI
    • AI NEWS
    • AI Comparisons
  • DEVOPS
  • Cloud
  • EVENTS
  • Tutoriels
No Result
View All Result
  • Home
  • AI
    • AI NEWS
    • AI Comparisons
  • DEVOPS
  • Cloud
  • EVENTS
  • Tutoriels
No Result
View All Result
Live Agentic 360
No Result
View All Result
ADVERTISEMENT
Home DEVOPS

Configuration d’un cluster Kubernetes (K8s) local sur Ubuntu Server 24.04

Configuration d’un cluster Kubernetes (K8s) local sur Ubuntu Server 24.04
Share on FacebookShare on Twitter

Introduction

La configuration d’un cluster Kubernetes chez soi est un excellent moyen d’acquérir une expérience pratique avec l’orchestration de conteneurs. Que vous vous prépariez à des certifications comme la CKA (Certified Kubernetes Administrator), que vous expérimentiez des applications cloud-native ou que vous construisiez un environnement de développement, ce guide vous aidera à mettre en place un cluster Kubernetes fonctionnel sur Ubuntu Server 24.04.

Ce tutoriel couvre la configuration d’un cluster à plusieurs nœuds avec un nœud de contrôle (control plane) et deux nœuds workers (travailleurs) en utilisant des outils comme kubeadm, containerd et Calico pour le réseau.


Architecture du cluster

Nous allons configurer un cluster avec trois machines virtuelles :

RôleNom d’hôteAdresse IP
Nœud de contrôlek8s-master192.168.1.100
Nœud worker 1k8s-worker1192.168.1.101
Nœud worker 2k8s-worker2192.168.1.102

Tous les nœuds exécutent Ubuntu Server 24.04 LTS.


Conditions préalables

Avant de commencer, assurez-vous d’avoir les éléments suivants :

  • Au moins deux machines (ou VM) exécutant Ubuntu Server 24.04.
  • Accès root ou des privilèges sudo sur toutes les machines.
  • Connectivité réseau entre les nœuds.
  • Chaque machine doit avoir au moins 2 Go de RAM et 2 cœurs CPU (plus pour des charges de travail plus lourdes).

Étape 1 : Mise à jour des paquets système et installation des dépendances

Sur tous les nœuds, mettez à jour les listes de paquets et installez les dépendances nécessaires :

bash

sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg lsb-release

Étape 2 : Désactivation du swap

Kubernetes exige que le swap soit désactivé sur tous les nœuds :

bash

sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

Étape 3 : Chargement des modules du noyau et configuration des paramètres sysctl

Chargez les modules du noyau requis et configurez les paramètres sysctl :

bash

cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF

sudo modprobe overlay
sudo modprobe br_netfilter

cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF

sudo sysctl --system

Étape 4 : Installation de containerd comme runtime de conteneurs

Sur tous les nœuds, installez containerd :

bash

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y containerd.io

Configurez containerd pour utiliser systemd comme cgroup :

bash

sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

Étape 5 : Installation de kubeadm, kubelet et kubectl

Sur tous les nœuds, ajoutez le dépôt Kubernetes et installez les outils :

bash

curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.30/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes.gpg
echo "deb [signed-by=/etc/apt/keyrings/kubernetes.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /" | sudo tee /etc/apt/sources.list.d/kubernetes.list

sudo apt update
sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

Étape 6 : Initialisation du nœud de contrôle

Sur le nœud k8s-master, initialisez le cluster :

bash

sudo kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address=192.168.1.100

Une fois terminé, configurez votre fichier kubeconfig :

bash

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

Enregistrez la commande kubeadm join affichée à la fin de la sortie — elle sera utilisée pour ajouter les nœuds workers.


Étape 7 : Installation d’une interface réseau (CNI) — Calico

Installez Calico pour permettre la communication entre les pods :

bash

kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/v3.26/manifests/calico.yaml

Vérifiez que les pods Calico sont en cours d’exécution :

bash

kubectl get pods -n kube-system

Étape 8 : Rejoindre les nœuds workers au cluster

Sur chaque nœud worker, exécutez la commande kubeadm join que vous avez enregistrée précédemment. Elle devrait ressembler à ceci :

bash

sudo kubeadm join 192.168.1.100:6443 --token <votre-token> --discovery-token-ca-cert-hash sha256:<votre-hash>

Étape 9 : Vérification du cluster

Retournez sur le nœud de contrôle et vérifiez que tous les nœuds sont en ligne :

bash

kubectl get nodes

Vous devriez voir les trois nœuds avec le statut Ready.


Étape 10 : Test du cluster avec un déploiement exemple

Déployez une application simple pour tester le cluster :

bash

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pods,svc

Accédez à l’application via l’IP d’un nœud worker et le port NodePort.


Dépannage

  • Nœud bloqué sur NotReady : Vérifiez que le CNI est correctement installé.
  • Erreur de token expiré : Générez un nouveau token avec kubeadm token create --print-join-command.
  • Problèmes de résolution DNS : Assurez-vous que CoreDNS est en cours d’exécution (kubectl get pods -n kube-system).

Conclusion

Vous avez maintenant un cluster Kubernetes opérationnel chez vous sur Ubuntu Server 24.04. Cette configuration est idéale pour l’apprentissage, le développement et les tests. Vous pouvez maintenant commencer à déployer des applications, expérimenter avec les fonctionnalités de Kubernetes et approfondir vos compétences.

Bon déploiement ! 🚀

Tags: Kubernetes
Share201Tweet126
  • Trending
  • Comments
  • Latest
L’ère des Agents IA : pourquoi 2026 marque la fin du simple chatbot

L’ère des Agents IA : pourquoi 2026 marque la fin du simple chatbot

IA Agentique : la révolution qui transforme les entreprises en 2026

IA Agentique : la révolution qui transforme les entreprises en 2026

L’intelligence artificielle au service du FinOps : une nouvelle ère d’optimisation du cloud

L’intelligence artificielle au service du FinOps : une nouvelle ère d’optimisation du cloud

L’ère des Agents IA : pourquoi 2026 marque la fin du simple chatbot

L’ère des Agents IA : pourquoi 2026 marque la fin du simple chatbot

Comparatif 2026 des IA sur le marché : performance, prix et usages

Comparatif 2026 des IA sur le marché : performance, prix et usages

IA Agentique : la révolution qui transforme les entreprises en 2026

IA Agentique : la révolution qui transforme les entreprises en 2026

How to Start an Ecommerce Business with AI: The Complete Beginner’s Guide

How to Start an Ecommerce Business with AI: The Complete Beginner’s Guide

Explaining Ansible Galaxy Roles

Explaining Ansible Galaxy Roles

Create Your First Ansible Playbook

Create Your First Ansible Playbook

  • About
  • Advertise
  • Privacy & Policy
  • Contact

Copyright © 2017 JNews.

No Result
View All Result
  • Home
  • AI
  • DEVOPS
  • Tutoriels

Copyright © 2017 JNews.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In