Le rôle d'un cluster docker : résumer plusieurs hôtes Docker en un tout, et gérer uniformément diverses ressources Docker sur ces hôtes Docker via une entrée (gestionnaire de cluster). Les avantages du cluster Docker incluent : une expansion évolutive, une mise à niveau continue, un déploiement rapide et un déploiement en ligne, etc.
L'environnement d'exploitation de ce tutoriel : système linux5.9.8, version docker-1.13.1, ordinateur Dell G3.
A quoi sert le cluster Docker ?
Un cluster est un groupe de plusieurs machines exécutant Docker et ajoutées à un groupe. Après avoir rejoint le cluster, vous pouvez continuer à exécuter vos propres commandes Docker, mais ces machines sont désormais exécutées sur le cluster par le gestionnaire de cluster.
Pour faire simple, il résume plusieurs hôtes Docker en un tout et gère uniformément diverses ressources Docker sur ces hôtes Docker via une seule entrée (gestionnaire de cluster).
Pour les grandes entreprises, les clusters Docker présentent de grands avantages, notamment une expansion évolutive, des mises à niveau progressives, un déploiement rapide et un déploiement en ligne, etc.
Le conteneur Docker peut empaqueter votre programme dans le système Linux, puis isoler votre programme des autres programmes. Cela équivaut à installer un logiciel sur une machine virtuelle, qui n'a aucune connexion avec le logiciel sur l'ordinateur, mais c'est la plus grande différence. d'une machine virtuelle est que sa surcharge de performances est extrêmement faible.
Les machines du cluster peuvent être physiques ou virtuelles. Après avoir rejoint le groupe, chaque machine est appelée un nœud. Le gestionnaire de cluster peut utiliser différentes stratégies pour gérer les conteneurs en cours d'exécution, telles que : le nœud le plus vide, qui est utilisé pour remplir les conteneurs les moins utilisés de manière globale pour garantir que chaque machine ne peut obtenir qu'une seule instance du service de conteneur spécifié.
Vous pouvez écrire ces politiques dans des fichiers pour exécuter les politiques du gestionnaire de cluster.
Le gestionnaire de cluster est la seule machine du cluster capable d'exécuter des commandes. Vous pouvez également autoriser d'autres machines à rejoindre le travail de gestion du cluster. Les machines autorisées ne peuvent faire que ce que les travailleurs sont là uniquement pour fournir de la capacité et ne peuvent pas dire aux autres machines quoi faire ou ne pas faire.
Une fois que Docker a activé le mode cluster, votre machine devient un gestionnaire de cluster et les commandes exécutées par Docker seront des commandes pour gérer le cluster, pas seulement exécutées sur votre machine actuelle.
docker cluster manager-Swarm
Docker Swarm comprend deux aspects : un cluster de sécurité Docker au niveau de l'entreprise et un moteur d'orchestration d'applications de microservices.
En termes de clustering, Swarm organise un ou plusieurs nœuds Docker afin que les utilisateurs puissent les gérer dans un cluster.
Swarm dispose d'un magasin de cluster distribué crypté intégré, d'un réseau crypté, d'un TLS public (Mutual TLS), d'un jeton d'accès au cluster sécurisé (Secure Cluster Join Token) et d'un ensemble de certificats numériques simplifiés par défaut Managed PKI (Public Key Infrastructure). Nous pouvons ajouter ou supprimer des nœuds librement.
En termes d'orchestration, Swarm fournit un riche ensemble d'API qui facilitent le déploiement et la gestion d'applications de microservices complexes. En définissant votre application dans un fichier de configuration déclaratif, vous pouvez la déployer à l'aide de commandes Docker natives.
De plus, vous pouvez même effectuer des mises à niveau progressives, des restaurations et des opérations d'expansion et de contraction, qui peuvent également être effectuées sur la base de commandes simples.
Dans le passé, Docker Swarm était un produit indépendant basé sur le moteur Docker. Depuis la version 1.12 de Docker, il est entièrement intégré au moteur Docker et peut être activé en exécutant une seule commande. D'ici 2018, il sera capable de déployer et de gérer des applications Kubernetes en plus des applications natives Swarm.
Les informations de configuration et d'état de Swarm sont stockées dans une base de données etcd distribuée située sur tous les nœuds de gestion. La base de données s'exécute en mémoire et maintient les données à jour. La meilleure chose à propos de cette base de données est qu'elle ne nécessite presque aucune configuration, elle est installée dans le cadre de Swarm et ne nécessite aucune administration.
Concernant la gestion du cluster, le plus grand défi est d'assurer sa sécurité. Lors de la configuration d'un cluster Swarm, vous utiliserez inévitablement TLS car il est étroitement intégré à Swarm.
À l’ère actuelle de sensibilisation croissante à la sécurité, des outils comme celui-ci méritent d’être vigoureusement promus. Swarm utilise TLS pour le cryptage des communications, l'authentification des nœuds et l'autorisation des rôles. La rotation automatique des touches est la cerise sur le gâteau ! Cela fonctionne silencieusement en arrière-plan et les utilisateurs ne remarquent même pas l’existence de cette fonctionnalité.
Concernant l'orchestration des applications, la plus petite unité de planification de Swarm est un service. Il a été introduit avec Swarm et constitue un nouvel élément objet de l'API. Il encapsule certaines fonctionnalités avancées basées sur des conteneurs et constitue un concept de niveau supérieur. Lorsqu'un conteneur est encapsulé dans un service, nous l'appelons une tâche ou une copie. Des fonctionnalités telles que l'expansion et la contraction, la mise à niveau continue et la simple restauration sont ajoutées au service.
Apprentissage recommandé : "Tutoriel vidéo Docker"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!