# 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](/outils/os/proxmox.md) 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 : pour que ce soit plus simple vous pouvez vous inspirer de la > configuration d'une VM pré-existante ### Création de la VM sur Proxmox > :bulb: Pour créer une VM sous nixos référez vous au repos > [nixos](https://gitlab.crans.org/nounous/nixos) du Crans 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 Copiez votre clé publique ssh sur la VM fraichement créer via la terminal disponible sur Proxmox (`~/.ssh/authorized_keys`) ## 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 ```