Kubernetes à haute disponibilité¶
Ce document décrit la mise en place d'un cluster Kubernetes à haute disponibilité, avec pour objectif de n'avoir aucun point de défaillance unique.
Prérequis¶
- Avoir réalisé le guide Load balancing avec HAProxy et Keepalived.
- Avoir réalisé le guide Kubernetes installation.
- Un nombre impair >= 3 de nœuds pour le plan de contrôle.
Initialisation du plan de contrôle¶
Kubernetes doit être initialisé depuis l'une des machines qui composera le plan de
contrôle, ici MASTER_01
.
Bash | |
---|---|
Note: la plage
192.168.0.0/16
est celle utilisée par défaut par Calico, le pod network add-on qui sera utilisé par le cluster.
Une fois initialisé, kubeadm nous indique qu'il faut exécuter les commandes suivantes
pour pouvoir utiliser kubectl
avec un utilisateur non-root.
Bash | |
---|---|
Pod network add-on¶
Calico est utilisé comme pod network add-on. Son déploiement est indispensable pour assurer le modèle réseau de Kubernetes.
Joindre le cluster¶
La commande suivante permet de rejoindre le plan de contrôle
Bash | |
---|---|
Si le certificat n'est plus valable, il est possible d'en générer un nouveau avec la commande suivante (depuis un noeud du plan de contrôle) :
Bash | |
---|---|
Les workers peuvent rejoindre le cluster avec la commande indiquée après l'initialisation du cluster
Bash | |
---|---|
Tip
Pour récupérer la commande avec le token et hash correspondant, il est possible d'exécuter la commande suivante depuis un nœud du plan de contrôle :
Bash | |
---|---|
Configuration spécifique à Botalista¶
Le cluster est désormais à haute disponibilité et prêt à être utilisé. La suite de la
configuration spécifique au projet Botalista est décrite dans le guide
Configurer Kubernetes pour Botalista
.
Ressources¶
Kubernetes documentation officielle :
Prérequis sur le nombre de nœuds :
Calico :