Orchestration de conteneurs - Installation et concepts fondamentaux
Kubernetes (souvent abrégé en K8s) est une plateforme open-source d'orchestration de conteneurs, initialement développée par Google et maintenant maintenue par la Cloud Native Computing Foundation (CNCF).
Kubernetes automatise le déploiement, la mise à l'échelle et la gestion des applications conteneurisées. Il gère des groupes d'hôtes exécutant des conteneurs Linux et permet de gérer facilement les applications dans des environnements physiques, virtuels ou cloud.
Kubernetes est devenu la norme pour l'orchestration de conteneurs car il résout de nombreux problèmes liés à l'exécution d'applications conteneurisées à grande échelle.
Automatise le déploiement, le redimensionnement et la gestion des applications conteneurisées.
Assure que vos applications sont toujours opérationnelles, même en cas de défaillance des nœuds.
Scale horizontalement vos applications en fonction de la charge, manuellement ou automatiquement.
Fonctionne sur plusieurs environnements (cloud, on-premise, hybride) sans changer votre application.
Kubernetes fonctionne avec une architecture maître-esclave (master-node) :
Gère le cluster Kubernetes et prend les décisions globales (planification, détection et réponse aux événements).
Exécutent les applications et les charges de travail. Chaque nœud contient :
Cette section explique comment installer Kubernetes sur des systèmes Debian ou Ubuntu. Nous utiliserons kubeadm, l'outil recommandé pour créer des clusters Kubernetes.
Mettez à jour votre système et installez les paquets nécessaires :
Mettez à jour votre système et installez les paquets nécessaires :
Ajoutez le dépôt Kubernetes et installez les outils nécessaires :
Sur le nœud maître, initialisez le cluster :
À la fin de l'initialisation, vous verrez des commandes pour configurer kubectl et rejoindre des nœuds au cluster.
Exécutez ces commandes en tant qu'utilisateur normal (non root) :
Pour que les pods puissent communiquer entre eux, installez un plugin réseau comme Flannel :
Vérifiez que tous les pods du système sont en cours d'exécution :
Vérifiez l'état des nœuds :