Kubernetes est une plateforme open-source de gestion de conteneurs qui automatise le déploiement, la mise à l’échelle et la gestion des applications conteneurisées. Que vous soyez développeur, administrateur système ou DevOps, comprendre comment installer et utiliser Kubernetes sur Ubuntu est essentiel pour moderniser votre infrastructure. Ce guide vous accompagnera à travers les étapes de l’installation et de la configuration de Kubernetes sur Ubuntu.
1. Prérequis
Avant de commencer, assurez-vous que votre environnement est prêt pour l’installation de Kubernetes. Voici les prérequis :
- Un serveur ou une machine virtuelle exécutant Ubuntu 20.04 ou 24.04.
- Un utilisateur avec des privilèges sudo.
- Au moins 2 Go de RAM et 2 CPU.
- Une connexion Internet stable.
2. Configurer le Serveur Ubuntu
- Mettre à jour le système :Commencez par mettre à jour la liste des paquets et installer les mises à jour disponibles :
sudo apt update sudo apt upgrade -y - Désactiver le swap :Kubernetes nécessite que le swap soit désactivé. Désactivez-le temporairement avec :
sudo swapoff -aPour désactiver le swap de manière permanente, commentez ou supprimez la ligne correspondant au swap dans/etc/fstab. - Configurer le pare-feu :Si vous avez UFW activé, assurez-vous que les ports nécessaires sont ouverts :
sudo ufw allow 6443/tcp sudo ufw allow 2379:2380/tcp sudo ufw allow 10250:10252/tcp sudo ufw allow 10255/tcp sudo ufw reload
3. Installer Docker
Kubernetes utilise Docker comme moteur de conteneurisation. Installez Docker en suivant ces étapes :
- Installer les dépendances :
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y - Ajouter la clé GPG officielle de Docker :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg - Ajouter le dépôt Docker :
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null - Installer Docker :
sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y - Vérifier l’installation :
sudo systemctl status docker
Assurez-vous que Docker est démarré et activé pour démarrer au boot.
4. Installer Kubernetes (kubectl, kubeadm, kubelet)
Kubernetes se compose de trois composants principaux : kubectl, kubeadm, et kubelet. Installez-les en suivant ces étapes :
- Ajouter la clé GPG officielle de Kubernetes :
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - - Ajouter le dépôt Kubernetes :
echo "deb http://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee -a /etc/apt/sources.list.d/kubernetes.list - Installer Kubernetes :
sudo apt update sudo apt install -y kubelet kubeadm kubectl sudo apt-mark hold kubelet kubeadm kubectl - Vérifier l’installation :
kubeadm version
5. Initialiser le Cluster Kubernetes
Avec kubeadm, vous pouvez initialiser un cluster Kubernetes. Le nœud maître gère les nœuds de travail où les applications seront déployées.
- Initialiser le cluster :
sudo kubeadm init --pod-network-cidr=192.168.0.0/16Après l’initialisation, vous verrez des instructions pour configurerkubectlsur le nœud maître. - Configurer kubectl :
mkdir -p $HOME/.kube sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config sudo chown $(id -u):$(id -g) $HOME/.kube/config - Déployer un réseau de pods :Kubernetes nécessite un réseau de pods pour permettre la communication entre les nœuds. Déployez le réseau Calico :
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml
6. Ajouter des Nœuds de Travail au Cluster
Pour ajouter un nœud de travail, exécutez la commande d’initialisation que vous avez reçue lors de l’initialisation du cluster sur chaque nœud de travail. Cela ressemble généralement à ceci :
sudo kubeadm join <master-ip>:<master-port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
Remplacez <master-ip>, <master-port>, <token>, et <hash> par les valeurs fournies.
7. Déployer une Application sur Kubernetes
Maintenant que votre cluster est en place, vous pouvez déployer une application conteneurisée. Par exemple, pour déployer un serveur Nginx, créez un fichier nginx-deployment.yaml :
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.21.6
ports:
- containerPort: 80
Appliquez-le avec kubectl :
kubectl apply -f nginx-deployment.yaml
Vérifiez que votre déploiement est actif :
kubectl get deployments
8. Gestion du Cluster Kubernetes
Kubernetes offre une grande flexibilité pour la gestion des déploiements, des services, des mises à l’échelle, et des mises à jour. Voici quelques commandes de base pour gérer votre cluster :
- Lister les nœuds :
kubectl get nodes - Lister les pods :
kubectl get pods - Obtenir des informations détaillées sur un déploiement :
kubectl describe deployment nginx-deployment - Mettre à l’échelle un déploiement :
kubectl scale deployment nginx-deployment --replicas=5 - Supprimer un déploiement :
kubectl delete deployment nginx-deployment
Conclusion
Installer et configurer Kubernetes sur Ubuntu est une tâche essentielle pour quiconque souhaite orchestrer des conteneurs dans un environnement de production. Ce guide vous a conduit à travers les étapes nécessaires pour configurer votre propre cluster Kubernetes, déployer des applications, et gérer votre infrastructure conteneurisée. Avec Kubernetes, vous êtes prêt à déployer des applications à grande échelle de manière efficace et fiable. N’oubliez pas de surveiller régulièrement votre cluster et d’appliquer les meilleures pratiques en matière de sécurité pour assurer la stabilité et la sécurité de votre infrastructure.
Abonnez-vous à notre Newsletter !
Restez à jour avec les dernières tendances, articles et actualités directement dans votre boîte de réception. En vous abonnant à la newsletter de Wordly Fusion, vous recevrez des contenus exclusifs, des recommandations personnalisées, et les nouveautés les plus passionnantes de notre site. Ne manquez aucune mise à jour et soyez toujours informé des sujets qui vous intéressent. Inscrivez-vous dès maintenant pour rejoindre notre communauté !
