GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Comment installer et configurer Docker Swarm Cluster sur Ubuntu

Docker Swarm est un outil qui vous permet de déployer un cluster d'hôtes Docker. Il s'agit d'un outil de clustering natif fourni par Docker qui offre une haute disponibilité et des performances élevées à votre application en la distribuant à tous les nœuds du cluster Swarm.

Dans ce didacticiel, nous vous montrerons étape par étape comment créer un cluster Swarm à l'aide d'Ubuntu 16.04. Nous allons créer un cluster swarm en utilisant 2 machines serveurs ubuntu, 1 nœud serveur en tant que gestionnaire et 1 autre en tant que travailleur. Et ensuite, nous essaierons de déployer le service Nginx simple sur le cluster swarm.

Prérequis

  • 2 ou plus - Serveur Ubuntu 16.04
    • gérant     132.92.41.4
    • worker01   132.92.41.5
  • Privilèges root

Qu'allons-nous faire ?

  1. Configurer les hôtes
  2. Installer Docker-ce
  3. Initialisation Docker Swarm
  4. Déployer le premier service sur le cluster

Étape 1 - Configurer les hôtes

Avant d'installer des packages pour le cluster Swarm, nous allons configurer le fichier hosts sur les deux serveurs.

Exécutez les commandes ci-dessous sur tous les serveurs, 'manager' et 'worker01'.

Modifiez le fichier "/etc/hosts" à l'aide de l'éditeur vim.

vim /etc/hosts

Ajoutez la configuration suivante à la fin de la ligne.

132.92.41.4    manager
132.92.41.5    worker01

Enregistrez et quittez.

Maintenant, envoyez un ping à tous les nœuds en utilisant 'hostname' au lieu d'utiliser l'adresse IP.

ping -c 3 manager
ping -c 3 worker01

Et assurez-vous que cela fonctionne sur tous les hôtes.

Étape 2 - Installer Docker-ce

Pour créer le cluster swarm, nous devons installer docker sur tous les nœuds de serveur. Dans cette étape, nous allons installer Docker-ce Community Edition sur les serveurs manager et worker01.

Installez les dépendances Docker-ce à l'aide de la commande apt ci-dessous.

sudo apt install apt-transport-https software-properties-common ca-certificates -y

Ajoutez maintenant la clé Docker et le référentiel Docker-ce à nos serveurs.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.list

Mettez à jour le référentiel et installez les packages Docker-ce à l'aide de la commande apt install ci-dessous.

sudo apt update
sudo apt install docker-ce -y

Une fois l'installation terminée, démarrez le service docker et activez-le pour qu'il se lance à chaque démarrage du système.

systemctl start docker
systemctl enable docker

Docker-ce est maintenant installé sur nos nœuds de serveur.

Ensuite, nous allons configurer docker pour qu'il s'exécute en tant qu'utilisateur normal ou utilisateur non root.

Créez un nouvel utilisateur nommé 'mohammad' et ajoutez-le au groupe 'docker'.

useradd -m -s /bin/bash mohammad
sudo usermod -aG docker mohammad

Connectez-vous maintenant à l'utilisateur 'mohammad' et exécutez la commande docker hello-world comme ci-dessous.

su - mohammad
docker run hello-world

Et vous obtiendrez le hello world de docker comme indiqué ci-dessous.

Étape 3 - Créer le cluster Swarm

Dans cette étape, nous allons créer le cluster Swarm de nos nœuds. Et pour créer les nœuds du cluster swarm, nous devons initialiser le mode swarm sur le nœud 'manager', puis joindre le nœud 'worker01' au cluster.

Initialisez le mode Docker Swarm en exécutant la commande docker ci-dessous sur le nœud 'manager'.

docker swarm init --advertise-addr 132.92.41.4

Et vous obtiendrez le résultat comme indiqué ci-dessous.

Vous verrez que 'join-token' a été généré par le nœud 'manager'.

Ensuite, nous devons ajouter le nœud 'worker01' au cluster 'manager'. Et pour ce faire, nous avons besoin d'un "join-token" du nœud "gestionnaire" du cluster, alors assurez-vous de l'écrire sur votre note.

Exécutez la commande docker swarm join sur le nœud 'worker01'.

docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377

Vous obtiendrez maintenant le résultat comme indiqué ci-dessous.

Le nœud 'worker01' a été joint au cluster.

Vérifiez-le en exécutant la commande suivante sur le nœud 'manager'.

docker node ls

Vous voyez maintenant que le nœud 'worker01' a été joint au cluster swarm.

Le Swarm Cluster a été créé.

Étape 4 - Déploiement du premier service sur le cluster

Dans cette étape, nous allons créer et déployer notre premier service sur le cluster Swarm. Nous voulons créer un nouveau serveur Web Nginx de service qui s'exécutera sur le port http 80 par défaut, puis l'exposer au port 8080 sur le serveur hôte, puis essayer de répliquer le service nginx à l'intérieur du cluster swarm.

Créer un service

Créez un nouveau service Nginx nommé "my-web" et exposez le port HTTP du conteneur au port 8080 sur l'hôte.

docker service create --name my-web --publish 8080:80 nginx:1.13-alpine

Et une fois créé, vérifiez à l'aide de la commande de service docker ci-dessous.

docker service ls

Et vous obtiendrez le résultat comme indiqué ci-dessous.

Le service Nginx a été créé et déployé sur le cluster Swarm en tant que service nommé "my-web", il est basé sur Nginx Alpine Linux, expose le port HTTP du service de conteneur au port "8080" sur l'hôte, et il n'a que 1 répliques.

Réplicas et mise à l'échelle du service

Nous allons maintenant créer des répliques pour le service 'my-web'. Nous allons faire 2 répliques du service 'my-web', afin que le service soit accessible sur les nœuds 'manager' et 'worker01'.

Pour répliquer le service 'my-web', exécutez la commande suivante.

docker service scale my-web=2

Et une fois terminé, vérifiez à nouveau à l'aide de la commande de service docker.

docker service ls

Et maintenant, le serveur a 2 répliques.

Ouvrez votre navigateur Web et saisissez l'adresse IP du nœud de gestionnaire avec le port 8080.

http://manager:8080/

Et vous obtiendrez la page par défaut de Nginx.

Ci-dessous le résultat du nœud 'worker01'.

http://worker01:8080/

Le cluster Swarm a été créé et le service Nginx a été déployé sur notre cluster Swarm.


Ubuntu
  1. Comment installer et configurer Redis sur Ubuntu 18.04

  2. Comment installer et configurer Redmine sur Ubuntu 18.04

  3. Comment installer et configurer Samba sur Ubuntu 18.04

  4. Comment installer et configurer Redis sur Ubuntu 20.04

  5. Comment configurer le cluster MariaDB Galera sur Ubuntu 20.04

Comment installer et configurer le cluster SeaweedFS sur Ubuntu 20.04

Comment installer et configurer un cluster Docker Swarm sur CentOS 8

Comment installer et configurer Docker Swarm sur CentOS 7 / Ubuntu 16.04 / Fedora 26/25

Comment installer et configurer Docker-CE sur Ubuntu 18.04 LTS

Comment installer et configurer le pare-feu UFW sur Ubuntu 20.04

Comment installer et configurer Kitematic sur Ubuntu Linux