139 lines
4.2 KiB
Markdown
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 aAnsible 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`
|