kind
À quoi il sert
kind (Kubernetes IN Docker), projet d'un groupe d'intérêt spécial (SIG) de Kubernetes, crée des clusters Kubernetes complets sur un poste ou dans un job de CI : chaque nœud est un conteneur Docker qui fait tourner le kubelet et un runtime de conteneurs. Un cluster se crée et se détruit en une commande, avec une version de Kubernetes choisie par l'image de nœud. kind load docker-image copie une image locale directement dans les nœuds, sans registre.
Quand le choisir
Pour un laboratoire jetable, des tests d'intégration en CI ou l'essai d'un outil (comme Argo CD) sans compte chez un fournisseur. Plusieurs clusters peuvent cohabiter sur le même réseau Docker, ce qui permet de simuler un hub et des clusters cibles. Ce n'est pas un cluster de production : pour cela, un Kubernetes managé comme Kapsule.
Points d'attention
- Sans
--kubeconfig,kind create clusterajoute le cluster à~/.kube/configet en fait le contexte courant : sur un poste qui administre aussi de vrais clusters, la commandekubectlsuivante peut viser le mauvais cluster. Utilisez un fichierkubeconfigpropre au laboratoire, et vérifiezkubectl config current-context. - Épinglez l'image de nœud (
--image) pour rester dans la matrice de versions testées des outils que vous installez : la version de Kubernetes par défaut d'une version de kind peut être plus récente. - Sous Linux, plusieurs clusters dépassent souvent la limite
fs.inotify.max_user_instancesde l'hôte :kube-proxyredémarre en boucle avectoo many open files. La documentation de kind recommande de relever cette limite (etfs.inotify.max_user_watches) sur l'hôte. - L'adresse de l'API inscrite dans le
kubeconfig(127.0.0.1et un port publié) n'est joignable que depuis le poste, pas depuis un autre cluster. kind load docker-imagepeut échouer sur une image multi-plateforme dont seules certaines plateformes sont présentes localement : laissez alors le nœud tirer l'image lui-même.
Par où commencer
La leçon GitOps : les principes et le modèle tiré, qui monte le laboratoire du cours GitOps sur kind, puis Plusieurs clusters, qui ajoute un second cluster kind.