Installation rapide de Zato Docker

Exigences

  • Docker, toute version

Étapes de l'installation

  • Téléchargez l'image Docker de Zato:
sudo docker pull registry.gitlab.com/zatosource/docker-registry/quickstart:3.2
  • Créez un conteneur dans lequel les composants Zato seront lancés:
sudo docker run --pull=always -it --rm -p 22022:22 -p 8183:8183 -p 11223:11223 \
  --name zato registry.gitlab.com/zatosource/docker-registry/quickstart:3.2
  • Récupérez vos mots de passe générés dynamiquement. Le premier est pour Zato Dashboard à l'adresse http://localhost:8183, l'autre est pour les connexions SSH.
sudo docker exec zato /bin/bash -c 'cat /opt/zato/web_admin_password \
  /opt/zato/zato_user_password'

Cela conclut le processus - une instance de Dashboard est en cours d'exécution à l'adresse http://localhost:8183 et vous pouvez vous y connecter avec le nom d'utilisateur 'admin' en utilisant le mot de passe imprimé dans le terminal ci-dessus.

Vous pouvez également vous connecter via SSH au conteneur sous lequel Zato est exécuté. Utilisateur : zato. Mot de passe : le second des deux imprimés sur le terminal ci-dessus.

Déploiement à chaud avec des volumes montés

Le répertoire /opt/hot-deploy dans le conteneur peut être mappé à un répertoire local sur le host. Tout service placé dans le répertoire local sera automatiquement déployé sur tous les serveurs du cluster dans le conteneur.

Par exemple, pour mapper le répertoire local /my/services à /opt/hot-deploy dans le conteneur, démarrez le conteneur comme ci-dessous :

host$ sudo docker run --pull=always -it --rm -p 22022:22 -p 8183:8183 -p 11223:11223 \
  -v /my/services/:/opt/hot-deploy/ --name zato \
  registry.gitlab.com/zatosource/docker-registry/quickstart:3.2

Importation de définitions enmasse

Un conteneur de départ peut importer des définitions enmasse avec des objets auxquels le cluster s'exécutant dans le conteneur devrait utiliser.

De cette manière, les canaux, les connexions et les autres éléments de la configuration d'un cluster peuvent être recréés à chaque fois qu'un nouveau conteneur est lancé.

Pour qu'un conteneur puisse lire un fichier enmasse, celui-ci doit être mis à la disposition du conteneur via un volume monté qui est ensuite utilisé par la variable d'environnement ZATO_ENMASSE_FILE.

Par exemple :

  • Sur le host, il existe un répertoire appelé /my/enmasse.
  • Dans le conteneur, ce répertoire sera mappé sur /opt/enmasse.
  • Dans le répertoire du host, il y aura un fichier enmasse appelé export.yml.
  • Pour importer automatiquement les définitions de ce fichier, il faut utiliser la configuration suivante : mapper les volumes, puis exporter l'emplacement complet du fichier, du point de vue du conteneur, vers une variable d'environnement.
sudo docker run --pull=always -it --rm -p 22022:22 -p 8183:8183 -p 11223:11223 \
    -v /my/services/:/opt/hot-deploy/  -v /my/enmasse/:/opt/enmasse/ \
    -e ZATO_ENMASSE_FILE=/opt/enmasse/export.yml --name zato \
    registry.gitlab.com/zatosource/docker-registry/quickstart:3.2

Variables d'environnement disponibles

L'image Zato utilise plusieurs variables d'environnement qui peuvent être utilisées pour affiner l'installation résultante.

Elles ne sont pas obligatoires, et les valeurs par défaut seront substituées si l'une d'entre elles est manquante, mais elles peuvent être utilisées pour configurer des détails particuliers de chacun des composants.

Variable Notes
ZATO_SSH_PASSWORD Mot de passe pour l'utilisateur zato pour accéder par ssh. S'il n'est pas défini, la valeur est générée automatiquement au moment de l'exécution.
ZATO_WEB_ADMIN_PASSWORD Mot de passe avec lequel l'utilisateur du compte technique de l'administrateur Web doit se connecter. S'il n'est pas défini, la valeur est générée automatiquement au moment de l'exécution.
ZATO_IDE_PUBLISHER_PASSWORD Mot de passe pour l'utilisateur ide_publisher, utilisé pour l'intégration IDE. S'il n'est pas défini, la valeur doit être définie manuellement.
ZATO_ENMASSE_FILE Chemin complet vers un fichier enmasse contenant les définitions des objets à importer.
REDIS_HOSTNAME Nom de l'hôte du service Redis. La valeur par défaut est localhost.
ODB_TYPE Type d'ODB SQL à utiliser. Il doit être l'un des suivants : mysql, postgresql ou sqlite. La valeur par défaut est sqlite.
ODB_HOSTNAME Nom d'hôte SQL ODB
ODB_PORT Port ODB SQL
ODB_NAME Base de données ODB SQL
ODB_USERNAME Nom d'utilisateur ODB SQL
ODB_PASSWORD Mot de passe SQL ODB
ZATO_ENMASSE_INITIAL_SLEEP Le nombre de secondes à attendre avant de lancer enmasse après le déploiement à chaud des services. La valeur par défaut est de 30.