rvn_tp22/README.md
2023-12-11 14:39:40 +01:00

49 lines
2.2 KiB
Markdown

# RVN - TP2.2 : Ordonnancement de services sur une grappe
1. Provisionner des VMs **sur notre WAN** avec [Vagrant](https://developer.hashicorp.com/vagrant/docs)
2. Déployer [Consul](https://developer.hashicorp.com/consul/docs) et [Nomad](https://developer.hashicorp.com/nomad/docs)
3. Déployer des services
## 1. Provisionner des VMs
1. Vérifiez le bon fonctionnement de notre WAN
2. Écrivez chacun un [Vagrantfile](./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` |
3. Vérifiez que les machines puissent discuter entre elles.
## 2. Déployer Consul et Nomad
1. Modifiez votre `Vagrantfile` pour qu'il provisionne votre VM avec [Consul](https://developer.hashicorp.com/consul/docs) et [Nomad](https://developer.hashicorp.com/nomad/docs)
Vous 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](./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
### Nomad
* Deployment guide: https://developer.hashicorp.com/nomad/tutorials/enterprise/production-deployment-guide-vm-with-consul