GNU/Linux >> Tutoriels Linux >  >> Linux

Comment déployer CouchDB en tant que cluster avec Docker

Récemment, je vous ai montré comment déployer CouchDB en tant que serveur de base de données NoSQL autonome, ce qui pourrait bien vous servir dans de petites instances. Cette fois-ci, je veux vous montrer une astuce pour déployer CouchDB en tant que cluster à l'aide de Docker. Bien que cette méthode ne soit pas idéale pour une utilisation en production, c'est un excellent moyen pour les développeurs de pouvoir travailler avec CouchDB dans un environnement de test.

Sans plus tarder, passons au déploiement.

Ce dont vous aurez besoin

Pour que cela fonctionne, vous aurez besoin d'un serveur avec un système d'exploitation prenant en charge Docker. Je ferai la démonstration avec Ubuntu Server 22.04, mais vous pouvez utiliser la plate-forme avec laquelle vous êtes à l'aise.

Couverture des développeurs à lire absolument

Comment installer Docker

Au cas où vous n'auriez pas déjà installé Docker, voici comment procéder.

Tout d'abord, ajoutez la clé Docker GPG officielle avec la commande :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Ensuite, ajoutez le référentiel requis :

echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Installez les dépendances requises avec :

sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y

Enfin, nous pouvons installer la dernière version du moteur Docker :

sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io -y

Ajoutez votre utilisateur au groupe docker avec la commande :

sudo usermod -aG docker $USER

Informez le système du changement avec :

newgrp docker

Comment déployer les conteneurs CouchDB

Nous allons déployer trois conteneurs CouchDB, chacun utilisant un port externe unique. Le premier utilisera le port 5984 et est déployé avec :

docker run -itd -p 5984:5984 -p 5986:5986 --name=couchdb0 -e NODENAME='couchdb-0.local.com' --mount 'source=volume-0,target=/opt/couchdb/data' couchdb:2.3.0

Le deuxième conteneur est déployé (en utilisant le port 15984) avec :

docker run -itd -p 15984:5984 -p 15986:5986 --name=couchdb1 -e  NODENAME='couchdb-1.local.com' --mount 'source=volume-1,target=/opt/couchdb/data' couchdb:2.3.0

Le conteneur final est déployé *en utilisant le port 25984) avec :

docker run -itd -p 25984:5984 -p 25986:5986 --name=couchdb2 -e NODENAME='couchdb-2.local.com' --mount 'source=volume-2,target=/opt/couchdb/data' couchdb:2.3.0

Si vous émettez la commande docker ps -a | grep couchdb, vous devriez voir les trois instances en cours d'exécution.

Comment créer l'utilisateur administrateur

Nous devons maintenant créer un administrateur sur chaque conteneur. Dans chaque cas, remplacez PASSWORD par un mot de passe fort (assurez-vous qu'il est le même pour chacun). Les commandes pour cela seront :

curl -X PUT http://localhost:5984/_node/[email protected]/_config/admins/admin -d '"PASSWORD"
curl -X PUT http://localhost:15984/_node/[email protected]/_config/admins/admin -d '"PASSWORD"
curl -X PUT http://localhost:25984/_node/[email protected]/_config/admins/admin -d '"PASSWORD"''

Exceptionnel. Continuons.

Comment créer un réseau Docker

Pour le moment, les nœuds CouchDB n'ont aucune connaissance les uns des autres. Pour résoudre ce problème, nous devons créer un nouveau réseau Docker. Faites ceci avec :

docker network create -d bridge --subnet 172.25.0.0/16 isolated_nw

Une fois notre réseau créé, nous devons maintenant y connecter nos conteneurs, ce qui se fait à l'aide des commandes suivantes :

docker network connect --alias couchdb-0.local.com isolated_nw couchdb0
docker network connect --alias couchdb-1.local.com isolated_nw couchdb1
docker network connect --alias couchdb-2.local.com isolated_nw couchdb2

Parfait.

Comment se connecter à la console d'administration

Ouvrez un navigateur Web et faites-le pointer vers http://server:5984, où SERVER est l'adresse IP du serveur hébergeant Docker. Connectez-vous avec le nom d'utilisateur admin et le mot de passe que vous avez ajouté précédemment pour l'utilisateur admin.

Une fois connecté, cliquez sur l'icône en forme de clé dans la navigation de gauche, puis cliquez sur Configurer un cluster (Figure A ).

Figure A

Dans la fenêtre résultante (Figure B ), vous devrez renseigner les informations d'identification de l'administrateur, puis ajouter un nœud au cluster.

Figure B

Pour ajouter le premier nœud au cluster, vous tapez couchdb-1.local.com comme hôte distant et laissez le port à 5984. Une fois que vous avez fait cela, cliquez sur Ajouter un nœud. Faites la même chose pour le deuxième nœud en utilisant couchdb-2.local.com comme hôte distant.

Après avoir ajouté les deux nœuds, cliquez sur Configurer le cluster et vous devriez être récompensé par une page vous informant que le cluster a été configuré (Figure C ).

Figure C

Félicitations, vous venez de déployer votre premier cluster CouchDB, avec l'aide de Docker.


Linux
  1. Comment déployer un serveur DNS dynamique avec Docker sur Debian 10

  2. Comment installer Jenkins avec Docker

  3. Comment déployer des microservices avec Docker

  4. Comment déployer des applications avec Rancher

  5. Comment utiliser les images docker locales avec Minikube ?

Comment déployer un cluster Kubernetes sur AWS avec Amazon EKS

Comment déployer Pi-Hole sur Debian 11

Comment déployer des piles Docker Compose sur Kubernetes avec Kompose

Comment déployer un service sur un cluster Docker Swarm

Comment déployer l'application Laravel avec Nginx sur Ubuntu ?

Comment déployer un conteneur Docker sur Jelastic Cloud