Aller au contenu

Atelier n°7: Bootstrapping du Cluster etcd

Info

Il s'agit d'un fork de l'original "Kubernetes the hard way" écrit à l'origine par Kelsey Hightower (GitHub : kelseyhightower). Contrairement à l'original, qui se base sur des distributions de type Debian pour l'architecture ARM64, ce fork cible les distributions Enterprise Linux telles que Rocky Linux, qui fonctionne sur l'architecture x86_64.

Les composants Kubernetes sont sans état et stockent l'état du cluster dans etcd. Dans cet atelier, vous démarrerez un cluster etcd à trois nœuds et la configurerez pour une haute disponibilité et un accès à distance sécurisé.

Prérequis

Copiez les binaires etcd et les fichiers unit de systemd sur l’instance server :

scp \
  downloads/etcd-v3.4.36-linux-amd64.tar.gz \
  units/etcd.service \
  root@server:~/

Exécutez les commandes dans les sections suivantes de ce laboratoire sur la machine server. Connectez-vous à la machine server avec la commande ssh. Exemple :

ssh root@server

Bootstrapping d'un Cluster etcd

Installation des Fichiers Binaires etcd

Si vous ne l'avez pas déjà fait, installez d'abord l'utilitaire tar avec dnf. Ensuite, extrayez et installez le serveur etcd et l'utilitaire de ligne de commande etcdctl :

  dnf -y install tar
  tar -xvf etcd-v3.4.36-linux-amd64.tar.gz
  mv etcd-v3.4.36-linux-amd64/etcd* /usr/local/bin/

Configuration du Serveur etcd

  mkdir -p /etc/etcd /var/lib/etcd
  chmod 700 /var/lib/etcd
  cp ca.crt kube-api-server.key kube-api-server.crt \
    /etc/etcd/

Chaque membre etcd doit avoir un nom unique dans un cluster etcd. Définissez le nom etcd pour qu'il corresponde au nom d'hôte de l'instance de calcul actuelle :

Créez le fichier de l'unité etcd.service systemd :

mv etcd.service /etc/systemd/system/
chmod 644 /etc/systemd/system/etcd.service

Remarque

Bien que considéré comme une mauvaise sécurité, vous devrez peut-être désactiver temporairement ou définitivement SELinux si vous rencontrez des problèmes de démarrage du service « etcd » et « systemd ». La solution appropriée consiste à analyser et à créer les fichiers de stratégie nécessaires avec des outils tels que « ausearch », « audit2allow » et autres.

Les commandes suivantes permettent de désactiver SELinux :

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0

Lancement du Serveur etcd

  systemctl daemon-reload
  systemctl enable etcd
  systemctl start etcd

Vérification

Énumérez les membres du cluster etcd :

etcdctl member list
6702b0a34e2cfd39, started, controller, http://127.0.0.1:2380, http://127.0.0.1:2379, false

Next: Bootstrapping the Kubernetes Control Plane

Author: Wale Soyinka

Contributors: Steven Spencer, Ganna Zhyrnova