rvn_tp22/README.md

59 lines
2.4 KiB
Markdown
Raw Normal View History

2023-12-11 12:08:38 +00:00
# RVN - TP2.2 : Ordonnancement de services sur une grappe
1. Provisionner des VMs **sur notre WAN** avec [Vagrant](https://developer.hashicorp.com/vagrant/docs)
2023-12-11 12:25:51 +00:00
2. Déployer [Consul](https://developer.hashicorp.com/consul/docs) et [Nomad](https://developer.hashicorp.com/nomad/docs)
3. Déployer des services
2023-12-11 12:08:38 +00:00
## 1. Provisionner des VMs
2023-12-11 12:25:51 +00:00
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 :
2023-12-11 12:08:38 +00:00
| 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` |
2023-12-11 12:25:51 +00:00
3. Vérifiez que les machines puissent discuter entre elles.
2023-12-11 13:41:11 +00:00
2023-12-11 13:44:59 +00:00
Dans le Vagrantfile :
```
config.vm.network "public_network", ip: "10.13.4.31", bridge: "eno1"
2023-12-11 13:44:59 +00:00
```
2023-12-11 13:41:11 +00:00
Essayez d'accéder aux ports `8500` et `4646` de la VM depuis un navigateur.
2023-12-11 12:25:51 +00:00
## 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
2023-12-11 13:39:40 +00:00
* Configs Nomad Deuxfleurs (dans sous-dossiers `deploy/`) : https://git.deuxfleurs.fr/Deuxfleurs/nixcfg/src/branch/main/cluster/prod/app
2023-12-11 12:25:51 +00:00
### 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
2023-12-11 12:08:38 +00:00
2023-12-11 12:25:51 +00:00
* Deployment guide: https://developer.hashicorp.com/nomad/tutorials/enterprise/production-deployment-guide-vm-with-consul
2023-12-11 12:08:38 +00:00