Salut, tout le monde.
Et bienvenue à nouveau.
Dans la vidéo d'aujourd'hui, nous allons parler de l'un des sujets les plus intéressants, à savoir l'orchestration
des conteneurs.
L'orchestration de conteneurs consiste à gérer le cycle de vie du conteneur, en particulier dans
les environnements vastes et dynamiques.
Maintenant, cela peut être mieux expliqué avec la petite démo ici où vous avez trois soldats de machine virtuelle.
Vous avez donc une machine virtuelle, une machine virtuelle, deux, une machine virtuelle trois, et vous avez un conteneur
de serveur web, vous avez un conteneur de serveur d'applications dans la machine virtuelle un, et de même avec la machine virtuelle
deux.
Vous avez un conteneur de serveur web et un conteneur de serveur d'applications.
Maintenant, si vous avez un très petit environnement comme celui-ci, vous pouvez aller de l'avant et démarrer le conteneur manuellement.
Mais il y a beaucoup d'autres aspects que le démarrage du conteneur.
L'un d'eux est le contrôle.
Supposons que ce conteneur de serveur web spécifique soit tombé en panne. Pour que votre environnement de production fonctionne
parfaitement, vous devez disposer d'un minimum de deux conteneurs de serveur web pour être toujours opérationnel.
Maintenant, ce qui s'est passé, c'est que vous l'avez installé et le serveur web conteneur est tombé en panne.
La question est donc de savoir qui va surveiller ce conteneur de serveur web spécifique ?
Et ce script de surveillance doit également disposer de mécanismes axés sur les événements de telle sorte que si ce conteneur de serveur
Web tombe en panne, il redémarre également le conteneur ou, pour une raison quelconque, si, par exemple, le conteneur ne redémarre pas, alors
ce script doit automatiquement démarrer un nouveau conteneur de serveur Web dans la machine virtuelle.
Trois.
Il s'agit donc d'un exemple simple, qui peut être réalisé à l'aide de l'orchestration de conteneurs.
Aujourd'hui, l'orchestration de conteneurs peut être utilisée pour effectuer un grand nombre de tâches.
Certains d'entre eux comprennent l'approvisionnement et le déploiement de conteneurs parmi les machines virtuelles.
Disons que vous disposez de 100 machines virtuelles et que vous souhaitez déployer des conteneurs sur celles-ci.
Il est donc très difficile pour vous de le faire manuellement.
Un outil d'orchestration de conteneurs peut donc facilement le faire.
La seconde consiste à mettre à l'échelle ou à retirer les conteneurs pour répartir uniformément la charge des applications.
Ensuite, vous avez le moment des conteneurs d'un hôte à l'autre s'il y a une pénurie de ressources.
Disons qu'un faisceau un a deux conteneurs.
Cependant, le VM a une ressource très courte.
Il n'y a que 50 Go de RAM, qui sont disponibles.
L'outil d'orchestration de conteneurs peut donc déplacer le conteneur de cette VM vers une VM qui est beaucoup
plus vide, qui a de meilleures ressources et qui est disponible.
Cela peut donc être fait à l'aide d'un outil d'orchestration de conteneurs.
L'orchestration de conteneurs peut également assurer l'équilibrage des charges et les fonctions liées à la découverte de services entre les
conteneurs.
Il peut également assurer la surveillance de la santé des conteneurs ainsi que de l'hôte.
Maintenant, chaque fois que vous avez une orchestration de conteneurs, il peut aussi y avoir beaucoup de mauvaises configurations, ce qui
peut arriver.
Supposons que vous ayez défini une exigence dans l'orchestration des conteneurs, qui stipule qu'un
minimum de deux conteneurs de serveur web doivent être exécutés en permanence.
Maintenant, une orchestration de conteneurs, ce qu'elle pourrait faire, elle peut lancer les deux conteneurs de serveur web
dans la même VM.
Bien que trois VM soient disponibles, le conteneur du serveur web est lancé dans une seule
VM.
Et ce qui se passe ici, c'est que si les deux sont dans la même VM, il y aura d'abord des problèmes liés
aux ressources si le trafic de production augmente.
La deuxième est que ce n'est pas hautement disponible.
Si cette VM tombe en panne, les deux conteneurs tombent en panne.
Ce que vous devez faire, c'est avoir un bon ensemble d'exigences et l'outil d'orchestration de conteneurs doit également
être intelligent de telle sorte que si l'outil d'orchestration de conteneurs définit que deux serveurs Web doivent
fonctionner en permanence, il doit être intelligent pour diviser le conteneur de serveur
Web sur la machine virtuelle afin que la charge soit équilibrée et que la haute disponibilité soit assurée.
Laissez-moi vous donner rapidement un exemple d'un outil d'orchestration de conteneurs appelé X.
Donc X est le service d'orchestration qui nous est spécifique.
Il dispose désormais d'une fonction de placement des tâches.
Maintenant, ce que le placement des tâches fait c'est que.
Vous pouvez utiliser diverses contraintes comme la zone de disponibilité ou le type d'instance pour répartir les conteneurs entre les machines virtuelles.
Donc, si vous êtes familier avec nous, disons que vous avez une machine virtuelle un et une machine virtuelle
deux, et les deux sont dans la même zone de disponibilité.
Dans ce cas, si vous avez le conteneur de serveur web 1 dans la VM 1 et le conteneur de serveur web 2 dans la VM 2, bien que
cela puisse être bon en termes d'équilibrage de charge, en termes de tolérance aux pannes, ce
n'est pas bon car ces deux VM sont dans la même zone de disponibilité.
Vous avez donc également besoin d'une sorte d'intelligence pour qu'un conteneur de serveur web soit réparti
entre les instances d'une zone de disponibilité différente.
Ainsi, si un seul CA tombe en panne, cela ne devrait pas affecter votre application.
Il s'agit là encore d'une grande capacité de l'ICS.
Pour en revenir aux solutions d'orchestration de conteneurs disponibles, il en existe
de nombreuses sur le marché.
Parmi elles, il y a Docker Swarm, Kubernetes, qui est l'une des plus populaires
dans le secteur.
Vous avez des mixeurs Apache.
Vous disposez également du service de conteneurs élastiques, ce qui est un plus X.
Parallèlement, il existe également diverses plateformes d'orchestration de conteneurs, comme ICS.
Donc en gros, Kubernetes est si vous avez pu travailler, c'est assez compliqué.
Et la gestion de Kubernetes dans une équipe de, disons, deux ou trois DevOps peut être un peu difficile, en particulier si votre environnement
est grand.
Il y a donc certaines plateformes comme X, qui est comme un Kubernetes géré.
Il s'occupe donc de gérer le Kubernetes et vous vous occupez du reste.
Quelque chose de similaire est donc également disponible.
Faisons donc une chose avant de conclure cette vidéo.
Laissez-moi vous montrer rapidement une démonstration liée à l'orchestration de conteneurs, et nous allons prendre l'exemple
de Docker Swamp pour comprendre comment les solutions d'orchestration de conteneurs peuvent aider.
Maintenant, je suis dans ma classe et si je fais un service Docker LS, vous verrez que j'ai un service
appelé Hello World, qui utilise l'image du moteur X et qui a une réplique de un sur un.
Donc actuellement ici le mode est répliqué.
Maintenant si je fais un service docker, PS Helloworld, ce qu'il montre essentiellement c'est que plus tôt
ce qui s'est passé c'est qu'il y avait ce conteneur spécifique, il a été lancé dans un nœud ou dans une machine virtuelle appelée
Swarm zéro deux.
Mais pour une raison quelconque, cette machine virtuelle a cessé de répondre.
Et ensuite, l'outil d'orchestration a démarré ce conteneur spécifique dans une machine virtuelle différente appelée
Form zero three.
Il a donc la capacité de surveiller si l'application ou le conteneur fonctionne ou non.
Et s'il n'est pas en cours d'exécution, il le démarrera automatiquement dans une autre machine virtuelle, qui
est disponible.
C'est donc très similaire à ce dont nous discutions.
Supposons qu'un conteneur de serveur web ait cessé de fonctionner dans une VMM. L'outil d'orchestration démarrera
alors automatiquement le conteneur de serveur web dans une autre machine virtuelle.
Alors faisons une chose, essayons.
Ce que nous allons faire, c'est nous connecter au serveur swarm zero three et arrêter manuellement le conteneur qui fonctionne
dans le swarm zero three.
Ensuite, nous vérifierons si l'outil d'orchestration de conteneurs, dans notre
cas, Docker swarm, est capable de détecter que ce conteneur spécifique a cessé de fonctionner et s'il lance à nouveau
un nouveau conteneur.
Alors essayons.
Je suis donc connecté à la machine 103 sur laquelle notre service tourne.
Très bien, donc c'est le service qui est en cours d'exécution.
Et si vous voyez que le statut est en place.
Alors faisons une chose.
Arrêtons le démon Docker ici.
Très bien.
C'est donc le pire des cas.
Il se peut donc que le serveur lui-même ait cessé de répondre et qu'il se soit arrêté.
Et maintenant, que se passe-t-il ?
Voici donc l'application qui fonctionnait ici.
Maintenant, puisque nous avons arrêté le service Docker, notre application serait tombée en panne.
Mais maintenant, exécutons la même commande, qui est le service Docker.
Bonjour le monde.
Donc, après avoir détecté que le conteneur dans l'essaim zéro trois n'est pas en cours d'exécution, ce qu'il a fait, c'est
qu'il a démarré le conteneur dans le nœud de l'essaim zéro un automatiquement.
Et ici, si je fais un morceau de docker, vous devriez voir que vous avez un conteneur qui est en marche et c'est
à partir de l'image du moteur X.
Ainsi, l'outil d'orchestration de conteneurs peut détecter automatiquement si le conteneur est en place ou non.
S'il n'est pas opérationnel, il peut soit le redémarrer, soit démarrer ce conteneur spécifique dans
un autre nœud.
C'est donc l'une des capacités d'un outil d'orchestration de conteneurs.
Il y a beaucoup d'autres possibilités.
Mais pour vous donner un aperçu, voici la démo que j'ai décidé de faire avec cette vidéo spécifique.
Voilà pour l'aperçu de l'orchestration de conteneurs.
J'espère que cette vidéo a été instructive pour vous et j'ai hâte de vous voir dans la prochaine vidéo.