Docker - Architecture de Kubernetes

Kubernetes est une infrastructure d'orchestration pour les conteneurs Docker qui permet d'exposer les conteneurs en tant que services au monde extérieur. Par exemple, vous pouvez avoir deux services - Un service contiendraitnginx et mongoDB, et un autre service contiendrait nginx et redis. Chaque service peut avoir une adresse IP ou un point de service qui peut être connecté par d'autres applications. Kubernetes est ensuite utilisé pour gérer ces services.

Le diagramme suivant montre dans un format simpliste comment Kubernetes fonctionne du point de vue de l'architecture.

le minionest le nœud sur lequel tous les services s'exécutent. Vous pouvez avoir plusieurs serviteurs en cours d'exécution à un moment donné. Chaque serviteur hébergera un ou plusieurs POD. ChaquePODc'est comme héberger un service. Chaque POD contient alors les conteneurs Docker. Chaque POD peut héberger un ensemble différent de conteneurs Docker. Le proxy est ensuite utilisé pour contrôler l'exposition de ces services au monde extérieur.

Kubernetes a plusieurs composants dans son architecture. Le rôle de chaque composant est expliqué ci-dessous & mius;

  • etcd - Ce composant est un composant hautement disponible key-value magasin utilisé pour stocker shared configuration et service discovery. Ici, les différentes applications pourront se connecter aux services via lediscovery service.

  • Flannel - Il s'agit d'un réseau backend requis pour les conteneurs.

  • kube-apiserver - Il s'agit d'une API qui peut être utilisée pour orchestrer les conteneurs Docker.

  • kube-controller-manager - Ceci est utilisé pour contrôler le Kubernetes services.

  • kube-scheduler - Ceci est utilisé pour planifier les conteneurs sur les hôtes.

  • Kubelet - Ceci permet de contrôler le lancement des conteneurs via manifest files.

  • kube-proxy - Ceci est utilisé pour fournir des services de proxy réseau au monde extérieur.