documentation/howto/creer_vm_crans.md

139 lines
4.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# Guide pour la création de VM interne au crans
## Étape préliminaire
Savoir ce que l'on veut, et regarder les besoins du services 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 élements commencent par ```d``` sont les dossiers, on peut donc "entrer dans ces dossier".
Ici le dossier qui nous interesse est le dossier ```ou=hosts``` qui contient les configurations
des différentes VM.
Ce sont dans "ces fichiers" de configuration quest 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 dautre si option inconnu
> - Bien spécifier dans loption Disks ou 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
Fqdm :`[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 lancer ansible (prochaine étape)
## Setup initial de la VM
Installez ansible sur votre machine.
Télechargez le depo git avec les fichiez ansible du Crans. [depot 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 inital
changer la config openssh : `/etc/ssh/sshd_config`
changer `PermitRootLogin yes` en `PermitRootLogin prohibit-password`