Kubernetes · 4 min read · Nov 03, 2025
Configurer un cluster Kubernetes sur une instance AWS EC2 avec Ubuntu en utilisant kubeadm

Dans cet article, nous allons voir comment configurer un cluster Kubernetes avec 2 nœuds de travail et 1 nœud maître sur des serveurs Ubuntu 18.04 LTS. Nous utiliserons l’outil “ kubeadm “ pour configurer le cluster. Kubeadm est un outil conçu pour fournir “ kubeadm init “ et “ kubeadm join “ pour créer des clusters Kubernetes. Avant de procéder à la création du cluster, comprenons brièvement quelques termes.
- Docker:
Docker est une plateforme ouverte pour développer, expédier et exécuter des applications. Docker vous permet de séparer vos applications de votre infrastructure afin que vous puissiez livrer des logiciels rapidement. Avec Docker, vous pouvez gérer votre infrastructure de la même manière que vous gérez vos applications. - Image:
Une image est un modèle en lecture seule avec des instructions pour créer un conteneur Docker. Souvent, une image est basée sur une autre image, avec quelques personnalisations supplémentaires. - Conteneur:
Un conteneur est une instance exécutable d’une image. Vous pouvez créer, démarrer, arrêter, déplacer ou supprimer un conteneur à l’aide de l’API Docker ou de la CLI. Vous pouvez connecter un conteneur à un ou plusieurs réseaux, y attacher du stockage, ou même créer une nouvelle image basée sur son état actuel. - Kubernetes:
Kubernetes est un système d’orchestration de conteneurs open-source pour automatiser le déploiement, l’évolutivité et la gestion des applications. - Nœuds:
Un nœud représente une machine unique dans le cluster. - Pods:
Un pod est un groupe de conteneurs qui sont déployés ensemble sur le même hôte. C’est l’unité d’exécution de base d’une application Kubernetes. - Déploiements:
Un Déploiement exécute plusieurs répliques de votre application et remplace automatiquement toute instance qui échoue ou devient non réactive. Il fournit des mises à jour déclaratives pour les Pods et les ReplicaSets. - Replica Set:
Il garantit combien de répliques d’un pod doivent être en cours d’exécution. Il peut être considéré comme un remplacement pour le contrôleur de réplication.
- Contrôleur de réplication:
C’est un superviseur pour les pods à long terme. Il lancera un nombre spécifié de pods appelés répliques et s’assurera qu’ils continuent de fonctionner tout le temps.
- Service:
C’est une abstraction qui définit un ensemble logique de Pods et une politique pour y accéder.
Le serveur API, etcd, le gestionnaire de contrôleur et le planificateur sont les composants du Maître et Docker, le service Kubelet et le service Proxy Kubernetes sont les composants du Nœud de travail. Nous ne discuterons pas de ces composants dans ce document. Si vous souhaitez en savoir plus sur ces composants, vous pouvez visiter la page officielle de Kubernetes ici.
Prérequis
- 3 serveurs Ubuntu 18.04 avec un minimum de 2 Go de RAM et 2 CPU.
- Un utilisateur système avec un accès “sudo” sur chaque serveur.
Ce que nous allons faire
- Configurer un cluster Kubernetes avec kubeadm
Configurer un cluster Kubernetes avec kubeadm
Ici,
Nous avons 3 serveurs Ubuntu 18.04 LTS.
Serveur 1= node1
Serveur 2= node2
Serveur 3= maître
Avant de procéder à l’installation réelle, changeons le nom d’hôte des serveurs.
Vous pouvez utiliser les commandes suivantes pour définir un nom d’hôte sur chaque serveur. Après avoir exécuté les commandes suivantes sur chaque serveur, reconnectez-vous aux serveurs afin qu’ils obtiennent un nouveau nom d’hôte.
sudo hostnamectl set-hostname "maître"
sudo hostnamectl set-hostname "node1"
sudo hostnamectl set-hostname "node2"Suivez les étapes mentionnées ci-dessous pour mettre en place le cluster Kubernetes fonctionnel.
Obtenez la clé gpg de Docker (Exécutez la commande suivante sur tous les nœuds) :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -Ajoutez le dépôt Docker (Exécutez la commande suivante sur tous les nœuds) :
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
Obtenez la clé gpg de Kubernetes (Exécutez la commande suivante sur tous les nœuds) :
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -Ajoutez le dépôt Kubernetes (Exécutez la commande suivante sur tous les nœuds) :
cat << EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
deb https://apt.kubernetes.io/ kubernetes-xenial main
EOF
Mettez à jour vos paquets (Exécutez la commande suivante sur tous les nœuds) :
sudo apt-get updateInstallez Docker, kubelet, kubeadm et kubectl (Exécutez la commande suivante sur tous les nœuds) :
sudo apt-get install -y docker-ce=18.06.1~ce~3-0~ubuntu kubelet=1.15.7-00 kubeadm=1.15.7-00 kubectl=1.15.7-00
Maintenez-les à la version actuelle (Exécutez la commande suivante sur tous les nœuds) :
sudo apt-mark hold docker-ce kubelet kubeadm kubectlAjoutez la règle iptables à sysctl.conf (Exécutez la commande suivante sur tous les nœuds) :
echo "net.bridge.bridge-nf-call-iptables=1" | sudo tee -a /etc/sysctl.confActivez iptables immédiatement (Exécutez la commande suivante sur tous les nœuds) :
sudo sysctl -p
Sur le Maître :
Initialisez le cluster (Exécutez la commande suivante uniquement sur le nœud Maître) :
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
Configurez kubeconfig local *(Exécutez la commande suivante uniquement sur le nœud Maître)* :
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Appliquez le réseau overlay CNI Flannel (Exécutez la commande suivante uniquement sur le nœud Maître) :
sudo kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.ymlSur Node1 et Node 2 :
Rejoignez les nœuds de travail au cluster (Exécutez la commande suivante uniquement sur Node1 et Node2) :
sudo kubeadm join 172.31.4.161:6443 --token 0y52t6.ffsj8jkjfcl1sq8h \
--discovery-token-ca-cert-hash sha256:7aa1825042d19d3e567f7e4b447634e942fe9ed7f18f78464a9c05f451551ed5
Vérifiez que les nœuds de travail ont rejoint le cluster avec succès (Exécutez la commande suivante sur le nœud Maître) :
kubectl get nodesConclusion :
Dans cet article, nous avons appris à configurer un cluster Kubernetes avec l’outil kubeadm. Nous avons vu à quel point un cluster peut être créé facilement si les étapes ne sont pas manquées et si l’installation est effectuée correctement.
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.