Kind est un projet open source qui permet d’installer des clusters
multi-nodes rapidement en utilisant Docker. C’est donc un parfait
candidat pour se préparer aux certifications CKA. En effet, kind intègre
tous les composants contrairement à d’autres solutions comme minikube ou
k3s.
Pour installer kind rien de plus simple avec
asdf :
Création d’un cluster single-node avec kind
Pour créer un clustersingle-node avec kind, il faut utiliser la
commande create
:
L’option --name permet de donner un nom à votre cluster. Car on peut en
installer plusieurs. Merci Docker.
Le fichier de config est créé directement dans le fichier ~/.kube/config. Donc
attention si vous déjà un fichier avec le même nom !
Création d’un cluster multi-nodes avec kind
Pour installer un clustermulti-nodes, il faut créer un fichier de configuration
Il est possible de créer un cluster avec 3 master-nodes en les définissant en
control-plane.
Créons le cluster :
Vous remarquerez que l’on voit bien l’ajout des nodes.
Si vous déployez plusieurs clusters kind ajoute les suivants dans le même fichier
de configuration ~/.kube/config.
Pour changer de context :
Utiliser la dernière version de kubernetes avec kind
Vous avez remarqué qu’avec la dernière version de kind on utilise kubernetes
1.21.1. Il est possible d’utiliser d’autres versions.
Il faut installer golang puis cloner le repo de kubernetes en pointant sur la
release désiré. Par exemple pour la version 1.23.1 (Il faut 10 Gb d’espace
disque disponible) :
Maintenant on peut builder l’image :
Après 5/6 minuates le build se termine. On vérifie que nous avons bien l’image :
Lançons un nouveau cluster single-node avec cette image :
Cool on a bien une version 1.23.1.
Destruction d’un cluster
On a déjà instancié 3 clusters kubernetes. Il serait temps d’en détruire un non
?
Vraiment rapide.
Remplacer le CNI par cilium
Vous voulez tester cilium sur kind. Dans le fichier de config du cluster il faut
désactiver le CNI par défaut :
Lançons la construction :
Maintenant installons cilium. Attention à bien indiquer le nom du cluster
cluster.name=cluster-4 :
Patientez quelques minutes et les nodes devrait passer au status ready :
Kind est le parfait candidat pour débuter avec kubernetes car très
proche des clusters créés avec kubeadm ou
kubespray
sans à devoir créer des VM. On va pouvoir poursuivre notre exploration de
Kubernetes.