[howto] ajout de create_vm.md

zfs_doc
_shirenn 2022-11-30 13:28:11 +01:00
parent 95fce622f8
commit d24bec24b7
1 changed files with 155 additions and 0 deletions

155
howto/create_vm.md 100644
View File

@ -0,0 +1,155 @@
# Création de machine virtuelle pour les adhérent⋅es
Le crans propose un système de locations de vms dont vous pouvez retrouver les
tarifs dans les annexes des statuts de l'association. J'en fournis un
récapitulatif ici mais attention celui-ci peut ne pas être à jour et seul ce qui
est marqué dans les statuts fait foi.
| Article | Tarifs |
|:---------------------------------------:|:------:|
| Service minimal | 10€ |
| Connexion internet | 30€ |
| Cœur additionnel | 5€ |
| 2GB de RAM additionnel | 5€ |
| Disque additionnel (par tranche de 16G) | 1€ |
Le service minimal comprend:
- un disque de 8G
- un cœur
- 2G de ram
Tous les services sont proposés pour une durée de 1 an.
## Section nounous
### LDAP
Quand un⋅e adhérent⋅e vous demande de lui créer une vm, il faut au préalable læ
rajouter dans le ldap des adhérent⋅es (qui n'est pas le même que le ldap re2o).
Celui ci se situe sur flirt et à la structure suivante:
```
ou=users
├── cn=toto
└── cn=titi
ou=clubs
└── o=rover
ou=hosts
├── cn=voyager
└── cn=curiosity
```
Pour référence ma configuration `shelldap` pour me connecter au ldap est
la suivante:
```
# +---------------------------------+
# | Connexion à flirt.adm.crans.org |
# +---------------------------------+
server: ldaps://flirt.adm.crans.org/
promptpass: yes
binddn: cn=admin,dc=adh,dc=crans,dc=org
basedn: dc=adh,dc=crans,dc=org
```
et le mot de passe est disponible dans le password-store sous `ldap-adh`.
#### Utilisateur⋅ices
Les objets utilisateur⋅ices dispose des champs suivants:
```
dn: cn=toto,ou=users,dc=adh,dc=crans,dc=org
objectClass: inetOrgPerson
objectClass: organizationalPerson
objectClass: person
objectClass: top
cn: toto
description: birthDate:1998-01-08
description: birthLocation:Cachan
description: membershipStart:20xx-xx-xx
description: membershipEnd:20xx-xx-xx
description: re2oId:xxxxx
givenName: Toto
mail: nobody [AT] crans [DOT] org
postalAddress: 60 rue camille desmoulins, 94230, Cachan
sn: Passoir
telephoneNumber: +336xxxxxxxx
userPassword: {CRYPT}$6$…
```
Le script `addadherent` du repo
[crans-ldap](https://gitlab.crans.org/nounous/crans-ldap) permet néanmoins de
configurer la plupart des informations à renseigner:
```
[ _shirenn@flirt ] $ ./addadherent --re2o-id xxxxx toto
Prénom: Toto
NOM: Passoir
Adresse email: nobody [AT] crans [DOT] org
Adresse: 60 avenue camille desmoulins, 94230, Cachan
Numéro de téléphone: +33600000000
Date de naissance (YYYY-MM-DD): 1998-01-08
Lieu de naissance: Cachan
```
Cela rajoutera automatiquement la date de début d'adhésion mais pas celle de fin
d'adhésion, celle-ci doit être rajoutée à la main en utilisant votre client ldap
favori.
#### Club
Les clubs sont des objets ldap très simple qui ne contiennent que le nom des
adhérent⋅es qui gèrent le club:
```
dn: o=rover,ou=clubs,dc=adh,dc=crans,dc=org
objectClass: organization
objectClass: top
description: toto
o: rover
```
Similairement, un script permet de rajouter ces informations automatiquement au
ldap:
```
[ _shirenn@flirt ]$ ./addclub rover
Pseudo du responsable: toto
Pseudo du responsable: titi
Pseudo du responsable:
```
#### Machines
Les machines sont des objets ldap qui répertorient des informations sur leur
configuration et leurs propriétaires:
```
dn: cn=curiosity,ou=hosts,dc=adh,dc=crans,dc=org
objectClass: top
objectClass: device
objectClass: ipHost
objectClass: ieee802Device
cn: curiosity
description: ip.icmp.in,ip.icmp.out,ip6.icmpv6.in,ip6.icmpv6.out,ip.tcp.out:0-65535,ip6.tcp.out:0-65535,ip.udp.out:0-65535,ip6.udp.out:0-65535,ip.tcp.in:22,ip6.tcp.in:22
ipHostNumber: 185.230.78.199
macAddress: 02:a0:00:01:99:12
owner: o=rover,ou=clubs,dc=adh,dc=crans,dc=org
serialNumber: 199
```
Le script `addadherenthost` crée la machine dans le ldap
```
[ _shirenn@flirt ]$ ./addadherenthost --ip 185.230.78.199 --mac 02:a0:00:01:99:02 --vmid 199 --club rover curiosity
```
Le part-feu par défaut laisse passer tous les paquets icmp, tous les paquets en
sortie et ne laisse rentrer que le port 22 en tcp, en ip legacy et en ipv6.
Une fois l'adhérent⋅e ou le club et la machine rajoutée dans le ldap. Les
scripts devraient mettre à jour la configuration du parefeu, du dhcp et de
proxmox.
### Proxmox
Il faut maintenant aller sur le cluster constitué de gulp, odlyd et stitch pour
créer la machine virtuelle. C'est du clic clic dans proxmox, vous êtes assez
grand⋅es pour savoir lire des menus. (Par contre faites bien attention à créer
les disques sur la pool `vm`).
Ensuite, deux possibilités, soit l'adhérent⋅e vous a juste demandé de créer la
machine virtuelle et à ce moment là c'est fini et iel peut aller la configurer
seul⋅e (c.f. section suivante), soit iel vous a demandé si vous pouviez lui
installer une distribution de son choix.
Vous pouvez alors lui demander une clé publique ssh et après avoir installer la
vm, vous la déposer dans `/root/.ssh/authorized_keys` (en faisant attention à
créer le `.ssh` avec les bonnes permissions `mkdir -m 0700 /root/.ssh`) et vous
supprimer les mots de passe que vous avez rentrer pendant l'installation `passwd
-d root`).
## Section utilisateur⋅ices
Coming soon