2.4 KiB
RVN - TP2.2 : Ordonnancement de services sur une grappe
1. Provisionner des VMs
- Vérifiez le bon fonctionnement de notre WAN
- Écrivez chacun un Vagrantfile pour lancer une VM sur le WAN, en suivant le schéma d'adressage suivant :
Continent | IP sur continent | IP VM |
---|---|---|
Amerique | 10.13.1.3/24 |
10.13.1.31/24 |
Europe | 10.13.2.1/24 |
10.13.2.11/24 |
Asie | 10.13.3.4/24 |
10.13.3.41/24 |
- Vérifiez que les machines puissent discuter entre elles.
Dans le Vagrantfile :
config.vm.network "public_network", ip: "10.13.4.31", bridge: "eno1"
Essayez d'accéder aux ports 8500
et 4646
de la VM depuis un navigateur.
2. Déployer Consul et Nomad
-
Modifiez votre
Vagrantfile
pour qu'il provisionne votre VM avec Consul et NomadVous pouvez aussi lancer des scripts sur les VMs sans rebooter, par exemple avec :
ssh ... ENV=xxx 'bash -s' < script.sh
Inspiration : ./install_nomad_consul.sh
Chaque continent est un "datacenter" : am
, eu
, as
. Il nous faut un Consul/Nomad serveur par zone géographique, les autres sont clients (configuration manuelle dans les .hcl
).
Docs
- Configs Nomad Deuxfleurs (dans sous-dossiers
deploy/
) : https://git.deuxfleurs.fr/Deuxfleurs/nixcfg/src/branch/main/cluster/prod/app
Consul
-
Follow this guide to provision a Vagrant VM with Consul: https://developer.hashicorp.com/consul/tutorials/certification-associate-tutorials/get-started-create-datacenter
-
Vagrant can auto-install Docker if you ask it to run containers: https://developer.hashicorp.com/vagrant/docs/provisioning/docker
-
Deployment guide: https://developer.hashicorp.com/consul/tutorials/production-deploy/deployment-guide
-
Register services to Consul: https://developer.hashicorp.com/consul/tutorials/get-started-vms/virtual-machine-gs-service-discovery