Guide de déploiement de nœud. Ajout jargon sur «nœud» (copie de #7) #8

Merged
vincent merged 7 commits from vincent-main into main 2022-08-30 19:07:23 +00:00
3 changed files with 58 additions and 5 deletions
Showing only changes of commit 8e9a225420 - Show all commits

View file

@ -0,0 +1,54 @@
---
title: Installer NixOS en SSH
description: Installer NixOS en SSH sans écran ni clavier
published: true
date: 2022-08-24
tags: installation, serveur, infrastructure, réseau, sysadmin, site géographique, technique, administration
editor: markdown
dateCreated: 2021-08-24
weight: 10
---
Quick tip avant d'oublier pour installer une de nos machines ThinkCentre via SSH sous NixOS ; c'est la seule solution quand on a pas d'écran ni de clavier sous la main.
Pré-requis : une clé USB, un ordi sous NixOS.
On va créer une image d'installation nous même qui démarre le SSH et configure root avec notre clé. On créer un fichier `iso.nix` :
```nix
{config, pkgs, ...}:
{
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
# Provide an initial copy of the NixOS channel so that the user
# doesn't need to run "nix-channel --update" first.
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
];
systemd.services.sshd.wantedBy = pkgs.lib.mkForce [ "multi-user.target" ];
users.users.root.openssh.authorizedKeys.keys = [
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDT1+H08FdUSvdPpPKdcafq4+JRHvFVjfvG5Id97LAoROmFRUb/ZOMTLdNuD7FqvW0Da5CPxIMr8ZxfrFLtpGyuG7qdI030iIRZPlKpBh37epZHaV+l9F4ZwJQMIBO9cuyLPXgsyvM/s7tDtrdK1k7JTf2EVvoirrjSzBaMhAnhi7//to8zvujDtgDZzy6aby75bAaDetlYPBq2brWehtrf9yDDG9WAMYJqp//scje/WmhbRR6eSdim1HaUcWk5+4ZPt8sQJcy8iWxQ4jtgjqTvMOe5v8ZPkxJNBine/ZKoJsv7FzKem00xEH7opzktaGukyEqH0VwOwKhmBiqsX2yN quentin@dufour.io"
];
}
```
On construit l'image à partir de ce fichier de conf :
```bash
nix-build '<nixpkgs/nixos>' -A config.system.build.isoImage -I nixos-config=iso.nix
```
On le copie sur la clé USB :
```
dd if=result/iso/*.iso of=/dev/??? status=progress
sync
```
On branche la clé sur le serveur, on branche le serveur sur le réseau, on démarre le serveur et on surveille le routeur pour connaitre son IP (nom de domaine `nixos`).
Ensuite on se connecte dessus :
```
ssh root@192.168.1.X
```

View file

@ -15,6 +15,9 @@ Ce guide explique comment initialiser un nœud pour l'infrastructure de Deuxfleu
Configurons d'abord quelques paramètres dans l'UEFI de la machine. Démarrez-là et appuyez sur la touche pour accéder à ce menu. Chez nous, il s'agit de F1. Si le PXE est activé, désactivons-le : un attaquant présent sur le réseau local pourrait faire démarrer une machine sur une installation malveillante. Vérifions que les *C-States* sont pris en charge, cela permet une meilleure gestion de l'énergie. Configurons également la machine pour qu'elle démarre après avoir subi une coupure électrique, cela se révèlera pratique lorsqu'il y en aura une. Si l'option est là, autorisons le démarrage sans clavier branché, pour ne pas être embêté lorsque nous démarrons une machine pour SSH dessus. Enfin, dans le cadre de l'infrastructure Deuxfleurs, nous supporterons uniquement l'UEFI, nous pouvons donc désactiver les options de compatibilité BIOS.
## Installation de NixOS
** Aucun écran ou clavier n'est disponible pour l'ordinateur cible ? NixOS peut être installé en SSH. Suivre les instructions sur [cette page](/operations/deploiement/noeud/SSH-sans-ecran).
Pour installer NixOS, nous aurons besoin d'une clé USB avec une image amorçable (*live*) de NixOS dessus. Nous pouvons télécharger la distribution linux en 64 bits et en version minimale (sans interface graphique et avec moins d'utilitaires) sur le [site officiel](https://nixos.org/download.html). Pour écrire l'image sur le support USB, on peut faire `dd if=chemin-vers-le-fichier-iso of=/dev/sdX status=progress; sync`, en remplaçant `sdX` par le fichier périphérique correspondant à la clé, trouvé avec `lsblk` par exemple.
Branchons la clé USB et démarrons dessus. Chez nous, c'est possible grâce à un menu accessible via la touche F12. Lançons NixOS sans option particulière. Accordons-nous tous les droits et configurons un clavier habituel. On peut également vérifier la connexion internet :

View file

@ -39,8 +39,4 @@ On peut distinguer deux types de sites :
On aura affaire à sa box (NAT, pare-feu...), au manque de garanties concernant notre adressabilité (IPv4 dynamique, IPv6 ? ...), ce qui va nous mener à devoir faire du routage. Le nœud du problème, c'est que chaque ordinateur de la grappe n'aura pas pignon sur rue (pas d'adresse IP publique et fixe par machine).
Néanmoins, **on est chez nous !** Votre disque dur - qui contient les données personnelles de vos usagers chéris - est sous vos yeux, bien au chaud. Le seul curieux qui voit passer votre trafic réseau est votre FAI : *rien de nouveau sous le soleil*.
Dans les deux cas - grâce à [la magie des VPN](/Technique/Infra/Wireguard) - on pourra communiquer sans souci avec le reste du cluster de Deuxfleurs.
**À terme, chez Deuxfleurs, on compte héberger toute notre infrastructure chez des particuliers.** Mais [la route est encore longue](/Technique/Jalons/Interconnexion) avant que nous ayons assez de bonnes connexions et des ordinateurs suffisamment puissants, sans parler du système de gestion logiciel.
Ainsi, **pour le moment, il est tout à fait acceptable d'héberger des services Deuxfleurs en centre de données** : tant qu'on en informe nos usagers et qu'on fait attention à la sécurité.