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