linters
parent
43766e30b0
commit
07f4647637
|
@ -110,18 +110,19 @@ romanesco : ipv4 : 172.16.10.128 (DNS récursif)
|
||||||
hostname : le_nom_de_la machine
|
hostname : le_nom_de_la machine
|
||||||
```
|
```
|
||||||
|
|
||||||
Pour plus d'information, regardez cette [documentation](/infrastructure/reseaux/plan.md).
|
Pour plus d'information, regardez cette
|
||||||
En cas de problème, il est possible de le configurer après installation dans `/etc/network/interfaces`.
|
[documentation](/infrastructure/reseaux/plan.md).
|
||||||
|
En cas de problème, il est possible de le configurer après installation dans
|
||||||
|
`/etc/network/interfaces`.
|
||||||
|
|
||||||
Nom de domaine pour les machines adm : `adm.crans.org`
|
Nom de domaine pour les machines adm : `adm.crans.org`
|
||||||
|
|
||||||
```config
|
```config
|
||||||
FQDN : `[nom du service].adm.crans.org`
|
FQDN : `[nom du service].adm.crans.org`
|
||||||
```
|
```
|
||||||
|
|
||||||
> - Pour le gestionnaire de paquet, il est possible d'utiliser le mirroir du
|
> - Pour le gestionnaire de paquet, il est possible d'utiliser le mirroir du
|
||||||
> crans `http://mirror.adm.crans.org/debian/`. En cas de problème, il est possible
|
> crans `http://mirror.adm.crans.org/debian/`. En cas de problème, il est
|
||||||
> de le configurer après installation dans `/etc/apt/sources.list`.
|
> possible de le configurer après installation dans `/etc/apt/sources.list`.
|
||||||
|
|
||||||
__Installer openssh__ si pas fait dans l'installateur
|
__Installer openssh__ si pas fait dans l'installateur
|
||||||
|
|
||||||
|
@ -130,40 +131,45 @@ via la terminal disponible sur Proxmox (`~/.ssh/authorized_keys`)
|
||||||
|
|
||||||
## Setup initial de la VM
|
## Setup initial de la VM
|
||||||
|
|
||||||
Pour faciliter le déploiement des VM, le Crans opte pour l'utilisation d'Ansible.
|
Pour faciliter le déploiement des VM, le Crans opte pour l'utilisation
|
||||||
|
d'Ansible.
|
||||||
|
|
||||||
### SSH
|
### SSH
|
||||||
|
|
||||||
Avant toutes choses, vérifiez que vous avez bien configuré ssh dans `~/.ssh/config`. Pour cela, faites un
|
Avant toutes choses, vérifiez que vous avez bien configuré ssh dans
|
||||||
tour sur la documentation d'[Ansible du crans](https://gitlab.crans.org/nounous/ansible) section
|
`~/.ssh/config`. Pour cela, faites un tour sur la documentation
|
||||||
|
d'[Ansible du crans](https://gitlab.crans.org/nounous/ansible) section
|
||||||
`Configurer la connexion au vlan adm`.
|
`Configurer la connexion au vlan adm`.
|
||||||
|
|
||||||
La VM étant nouvellement configurer, il n'est possible de se ssh qu'en tant que root. Ainsi, il est
|
La VM étant nouvellement configurer, il n'est possible de se ssh qu'en tant
|
||||||
nécessaire de copiez votre clé SSH (public) sur le compte root :
|
que root. Ainsi, il est nécessaire de copiez votre clé SSH (public) sur le
|
||||||
`ssh-copy-id root@[nom_serveur].adm.crans.org`
|
compte root : `ssh-copy-id root@[nom_serveur].adm.crans.org`
|
||||||
|
|
||||||
> - À noter : il faut autoriser les connexions ssh en root et interdisez cela dès que cela est fait.
|
> - À noter : il faut autoriser les connexions ssh en root et interdisez cela
|
||||||
|
dès que cela est fait.
|
||||||
|
|
||||||
### Installation d'Ansible
|
### Installation d'Ansible
|
||||||
|
|
||||||
Installez Ansible sur votre machine ainsi que `python3-ldap`. En effet, Ansible permet la gestion de toutes
|
Installez Ansible sur votre machine ainsi que `python3-ldap`. En effet,
|
||||||
les VM depuis son ordinateur.
|
Ansible permet la gestion de toutes les VM depuis son ordinateur.
|
||||||
|
|
||||||
Téléchargez le [dépôt git](https://gitlab.crans.org/nounous/ansible) avec les fichiers Ansible du Crans qui
|
Téléchargez le [dépôt git](https://gitlab.crans.org/nounous/ansible) avec les
|
||||||
contiennent la configuration de tout les serveurs du Crans.
|
fichiers Ansible du Crans qui contiennent la configuration de tout les
|
||||||
|
serveurs du Crans.
|
||||||
|
|
||||||
Il faut alors ajouter la VM nouvellement créer dans Ansible.
|
Il faut alors ajouter la VM nouvellement créer dans Ansible.
|
||||||
|
|
||||||
### Configuration minimale
|
### Configuration minimale
|
||||||
|
|
||||||
Cela correspond à la base de toutes les VM du crans. Cela inclut de permettre la connexion ssh par les
|
Cela correspond à la base de toutes les VM du crans. Cela inclut de permettre
|
||||||
|
la connexion ssh par les
|
||||||
nounous notamment.
|
nounous notamment.
|
||||||
|
|
||||||
Pour cela, il faut ajouter la VM dans `hosts` dans la catégorie correspondante (généralement dans
|
Pour cela, il faut ajouter la VM dans `hosts` dans la catégorie correspondante
|
||||||
`[crans_vm]`).
|
(généralement dans `[crans_vm]`).
|
||||||
|
|
||||||
Ensuite, ajoutez un fichier `host_vars/[serveur].adm.crans.org` contenant la configuration réseau
|
Ensuite, ajoutez un fichier `host_vars/[serveur].adm.crans.org` contenant la
|
||||||
(`interfaces`).
|
configuration réseau (`interfaces`).
|
||||||
|
|
||||||
Enfin, il faut rendre le LDAP accessible à votre machine :
|
Enfin, il faut rendre le LDAP accessible à votre machine :
|
||||||
```bash
|
```bash
|
||||||
|
@ -181,37 +187,47 @@ sans le `--check`.
|
||||||
Plus d'info sur Ansible dans son
|
Plus d'info sur Ansible dans son
|
||||||
[guide dédier](https://gitlab.crans.org/nounous/ansible).
|
[guide dédier](https://gitlab.crans.org/nounous/ansible).
|
||||||
|
|
||||||
Il se peut qu'une erreur persiste. En effet, avec `--check` aucune modification n'est appliquée. Donc, si
|
Il se peut qu'une erreur persiste. En effet, avec `--check` aucune
|
||||||
une commande nécessite au préalable qu'une autre ait eu lieu, une erreur peut se produire.
|
modification n'est appliquée. Donc, si une commande nécessite au préalable
|
||||||
|
qu'une autre ait eu lieu, une erreur peut se produire.
|
||||||
|
|
||||||
### Configurer un service
|
### Configurer un service
|
||||||
|
|
||||||
Tout d'abord, ajoutez le serveur dans `group_vars/reverseproxy.yml` dans la partie `reverseproxy_sites`.
|
Tout d'abord, ajoutez le serveur dans `group_vars/reverseproxy.yml` dans la
|
||||||
|
partie `reverseproxy_sites`.
|
||||||
|
|
||||||
> - `reverseproxy.yml` contient le nom avec lequel le service sera accessible.
|
> - `reverseproxy.yml` contient le nom avec lequel le service sera accessible.
|
||||||
|
|
||||||
Dans `all.yml`, ajoutez un playbook (au nom du service pour l'identifier plus facilement) et créez un fichie
|
Dans `all.yml`, ajoutez un playbook (au nom du service pour l'identifier plus
|
||||||
du même nom dans `plays` (inspirez-vous d'un autre fichier librement car la nomenclature sera similaire).
|
facilement) et créez un fichier du même nom dans `plays` (inspirez-vous d'un
|
||||||
|
autre fichier librement car la nomenclature sera similaire).
|
||||||
|
|
||||||
Le fichier dans `plays` contient 4 éléments essentiels :
|
Le fichier dans `plays` contient 4 éléments essentiels :
|
||||||
> - l'en-tête `#!/usr/bin/env ansible-playbook`
|
> - l'en-tête `#!/usr/bin/env ansible-playbook`
|
||||||
> - une petite note explicative (parfois un œuf de Pâques...)
|
> - une petite note explicative (parfois un œuf de Pâques...)
|
||||||
> - `hosts:` qui correspond à la VM ou groupe de VM pour lequel le script doit s'appliquer (la VM doit être
|
> - `hosts:` qui correspond à la VM ou groupe de VM pour lequel le script doit
|
||||||
> déclarer dans le fichier `hosts`). Généralement, il s'agira de `[nom_vm].adm.crans.org`.
|
> s'appliquer (la VM doit être déclarer dans le fichier `hosts`).
|
||||||
> - `roles:` qui contiendra la (ou les) configuration des services qui seront hébergés sur la VM.
|
> Généralement, il s'agira de `[nom_vm].adm.crans.org`.
|
||||||
> Généralement, il s'agira simplement du nom du service qui sera hébergé.
|
> - `roles:` qui contiendra la (ou les) configuration des services qui seront
|
||||||
|
> hébergés sur la VM. Généralement, il s'agira simplement du nom du service
|
||||||
|
> qui sera hébergé.
|
||||||
|
|
||||||
Une fois les rôles créés, il faut créer un dossier du même nom dans le dossier `roles` (pour chaque rôle
|
Une fois les rôles créés, il faut créer un dossier du même nom dans le dossier
|
||||||
précédemment ajouté). Chacun de ces dossiers contient 2 autres dossiers :
|
`roles` (pour chaque rôle précédemment ajouté). Chacun de ces dossiers
|
||||||
|
contient 2 autres dossiers :
|
||||||
|
|
||||||
> - `templates` qui contiendra tous les fichiers qui devront être copier sur la machine. Typiquement des
|
> - `templates` qui contiendra tous les fichiers qui devront être copier sur
|
||||||
> fichiers de configuration comme pour `nginx` ou le `motd`. À noter que les `templates` peuvent contenir
|
> la machine. Typiquement des fichiers de configuration comme pour `nginx`
|
||||||
> des variables sous la forme `{{ nom_de_la_variable }}`, qui sera remplacée au moment de l'exécution
|
> ou le `motd`. À noter que les `templates` peuvent contenir des variables
|
||||||
> d'Ansible. Ces noms de variables sont généralement enregistrés dans `group_vars/[nom_service].yml`. Si
|
> sous la forme `{{ nom_de_la_variable }}`, qui sera remplacée au moment de
|
||||||
> la variable est un secret, il faut alors l'ajouter dans le pass et écrire `{{ vault.fichier.secret }}`.
|
> l'exécution d'Ansible. Ces noms de variables sont généralement enregistrés
|
||||||
> Les `templates` sont facultatifs si jamais utilisés.
|
> dans `group_vars/[nom_service].yml`. Si la variable est un secret, il faut
|
||||||
> - `tasks` dont le fichier `main.yml` sera automatiquement exécuté. Il contient toutes les commandes à
|
> alors l'ajouter dans le pass et écrire `{{ vault.fichier.secret }}`. Les
|
||||||
> exécuter pour rendre le service opérationnel. De même que pour `templates`, il est possible d'utiliser
|
> `templates` sont facultatifs si jamais utilisés.
|
||||||
> des variables.
|
> - `tasks` dont le fichier `main.yml` sera automatiquement exécuté. Il
|
||||||
|
> contient toutes les commandes à exécuter pour rendre le service
|
||||||
|
> opérationnel. De même que pour `templates`, il est possible d'utiliser des
|
||||||
|
> variables.
|
||||||
|
|
||||||
Une fois la configuration terminée, pensez à push les modifications sur le git Ansible.
|
Une fois la configuration terminée, pensez à push les modifications sur le git
|
||||||
|
Ansible.
|
||||||
|
|
Loading…
Reference in New Issue