documentation/howto/creer_vm_crans.md

139 lines
4.2 KiB
Markdown

# Guide pour la création de VM interne au Crans
## Étape préliminaire
Savoir ce que l'on veut et regarder les besoins du service que l'on souhaite installer
## Création de la VM
### Se connecter à Proxmox
Proxmox est un logiciel de virtualisation utilisé au Crans, plus d'info ici [Proxmox](./truct/)
Pour se connecter au Proxmox :
```bash
ssh -NL 8006:localhost:8006 sam.adm.crans.org
```
Puis connectez-vous `https://localhost:8006/` dans votre navigateur open source préféré
(Et connectez-vous avec vos identifiants nounous)
Trouvez un identifiant de VM qui n'ai pas déjà pris.
### Se connecter au bon LDAP
Se connecter au LDAP à l'aide de shelldap par exemple :
- `wall-e` pour `adm`, (serveur de service)
- `flirt` pour `adh` (service de service)
`shelldap -f shelldap_wall-e.rc`
Avec le fichier `shelldap_wall-e.rc` (évidemment modifiez `_ton_pseudo` avec votre pseudo nounou) :
```yaml
# Fichier de configuration shelldap admin
# de bleizi/shirenn adapté
server: ldaps://172.16.10.100:636
binddn: uid=_ton_pseudo,ou=passwd,dc=crans,dc=org
basedn: dc=crans,dc=org
promptpass: yes
tls: yes
tls_cacert: /etc/ldap/ldap.pem
```
"Bind password :" -> Entrez votre mot de passe nounous
### Créer l'entrée dans LDAP
#### Base de navigation dans le LDAP
Les éléments commencent par ```d``` sont les dossiers, on peut donc "entrer dans ces dossiers".
Ici le dossier qui nous intéresse est le dossier ```ou=hosts``` qui contient les configurations
des différentes VM.
Ce sont dans "ces fichiers" de configuration qu'est décrit les la VM.
On peut utiliser ```cat``` pour regarder leurs contenues, ```mv``` pour changer leurs noms ou les déplacer.
Pour les éditer la commande est ```edit```.
Voir : [doc ldap](/infrastructure/services/ldap.md) pour en savoir plus à propos du LDAP et de shelldap.
#### Configuration réseau
Convention du Crans (plus ou moins respecté), si votre id est XYZ (avec X, Y, Z des chiffres):
- L'adresse IPv4 est alors : `172.16.[vlan].XYZ`
- L'adresse IPv6 est alors : `fd00::10:0:ff:fe0X:YZ[vlan]`
- L'adresse MAC est alors : `02:00:00:0X:YZ:[vlan]`
Recommendation : copier une configuration LDAP voisine // On garde ?
### Création de la VM sur Proxmox
Créer une VM dans Proxmox avec l'ISO Debian.
Mettez l'id que vous avez sélectionné précédemment.
Et le nom que vous souhaitez donner à la machine (un nom avec une ref obscure ou
un nom qui reprends le nom du service qui sera hébergé afin de facilement savoir à quoi sert la VM)
> - Ne pas modifier d'autre si option inconnue
> - Bien spécifier dans l'option Disks où sera stocké la VM: serveur adhérent avec 10TB
> - Entrer la bonne adresse MAC dans le networking
## Installation de Debian
### Config réseaux
Configurez l'interface réseau de la VM (pas de DHCP):
l'IP du serveur lui-même est à entrer manuellement (pas d'autoconf)
```config
Gateway : ipv4 : 172.16.10.101 (bizarre, fournit par routeur sam)
romanesco : ipv4 : 172.16.10.128 (DNS récursif)
hostname : le_nom_de_la machine
```
Nom de domaine pour les machines adm : `adm.crans.org`
```config
FQDN : `[nom du service].adm.crans.org`
```
__Installer openssh__ si pas fait dans l'installateur
changer la config openssh : `/etc/ssh/sshd_config`
changer `PermitRootLogin prohibit-password` en `PermitRootLogin yes`
> :warning:
> Ne pas oublier de changer `PermitRootLogin` avec `prohibit-password` après avoir lancé Ansible (prochaine étape)
## Setup initial de la VM
Installez Ansible sur votre machine.
Téléchargez le dépôt git avec les fichiers Ansible du Crans. [dépôt git](https://gitlab.crans.org/nounous/ansible)
Copiez votre clé SSH (public) sur le compte root.
Vérifiez que votre config n'a pas de problème
```bash
plays/root.yml -l [machine a déployer].adm.crans.org --extra-vars='ansible_become_user=root' -u root --check
```
Une fois que le check n'a plus d'erreur, vous pouvez lancer la même commande sans le `--check`.
Plus d'info sur Ansible dans son [guide dédier](https://gitlab.crans.org/nounous/ansible).
```bash
plays/root.yml -l [machine a déployer].adm.crans.org --extra-vars='ansible_become_user=root' -u root
```
## Post setup initial
changer la config openssh : `/etc/ssh/sshd_config`
changer `PermitRootLogin yes` en `PermitRootLogin prohibit-password`