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
Owner

Vincent disait :

Deux choses proposées ici :

  • Un guide détaillé pour mettre en place un nœud dans l'infrastructure Deuxfleurs. Il est classé dans operations/deploiement/noeud/guide-creation-noeud/. Actuellement il se termine après avoir installé et configuré l'OS, la suite devrait expliquer comment rejoindre le réseau Deuxfleurs.
  • Une modification du jargon pour mieux distinguer nœud et grappe.

⚠️ Il a deux liens morts dans la page expliquant les prérequis pour faire un nœud (ici dans la version actuelle du site, là dans cette fusiodemande) :

Je n'ai pas réussi à retrouver les nouveaux liens s'il y en a.

Perso j'ai corrigé 2 typos et ajouté 'avec SSH' à la fin du guide (c'est bien ce que tu voulais dire ?).

J'ai lu en diagonale mais ça me plaît !

  • "Cette préparation est sautée ici car amplement expliquée à divers endroits sur internet" - tu veux pas donner un lien, quand même ?
Vincent disait : > > Deux choses proposées ici : > > * Un guide détaillé pour mettre en place un nœud dans l'infrastructure Deuxfleurs. Il est classé dans `operations/deploiement/noeud/guide-creation-noeud/`. Actuellement il se termine après avoir installé et configuré l'OS, la suite devrait expliquer comment rejoindre le réseau Deuxfleurs. > * Une modification du jargon pour mieux distinguer nœud et grappe. > > ⚠️ Il a deux liens morts dans la page expliquant les prérequis pour faire un nœud ([ici dans la version actuelle du site](https://guide.deuxfleurs.fr/operations/deploiement/noeud/), [là dans cette fusiodemande](https://guide.deuxfleurs.fr/operations/deploiement/noeud/prerequis)) : > > * https://guide.deuxfleurs.fr/Technique/Infra/Wireguard > * https://guide.deuxfleurs.fr/Technique/Jalons/Interconnexion > > Je n'ai pas réussi à retrouver les nouveaux liens s'il y en a. > Perso j'ai corrigé 2 typos et ajouté 'avec SSH' à la fin du guide (c'est bien ce que tu voulais dire ?). J'ai lu en diagonale mais ça me plaît ! * "Cette préparation est sautée ici car amplement expliquée à divers endroits sur internet" - tu veux pas donner un lien, quand même ?
adrien added 2 commits 2022-08-23 17:42:46 +00:00
vincent added 1 commit 2022-08-23 21:37:00 +00:00
Owner

Merci pour la relecture et les corrections !

Perso j'ai corrigé 2 typos et ajouté 'avec SSH' à la fin du guide (c'est bien ce que tu voulais dire ?).

C'est valable, on peut tester la connexion en local ou en SSH. J'ai précisé les deux du coup.

tu veux pas donner un lien, quand même ?

J'avais un peu peur du risque de lien mort. Bon en fait c'est juste deux commandes, au final je les ai carrément rajoutées.

Merci pour la relecture et les corrections ! > Perso j'ai corrigé 2 typos et ajouté 'avec SSH' à la fin du guide (c'est bien ce que tu voulais dire ?). C'est valable, on peut tester la connexion en local ou en SSH. J'ai précisé les deux du coup. > tu veux pas donner un lien, quand même ? J'avais un peu peur du risque de lien mort. Bon en fait c'est juste deux commandes, au final je les ai carrément rajoutées.
lx reviewed 2022-08-23 22:52:11 +00:00
lx left a comment
Owner

Merci, pour moi tout est bon, juste deux petites remarques à vérifier !

Merci, pour moi tout est bon, juste deux petites remarques à vérifier !
@ -0,0 +11,4 @@
# Déployer un nœud au sein de l'infrastructure Deuxfleurs
Déployer un nœud au sein de l'infrastructure Deuxfleurs demande un certaine préparation et représente un processus particulier.
Avant de se lancer, [mieux vaut vérifier les prérequis pour y parvenir](prerequis). Une fois ceci fait, on peut suivre [le guide décrivant la procédure](guide-creation-noeud).
Owner

Je pense que la target des liens n'est pas la bonne, à vérifier

Je pense que la target des liens n'est pas la bonne, à vérifier
@ -0,0 +15,4 @@
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
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.
Owner

Shameless plug: je pense que ça peut être le bon endroit pour mentionner également Ventoy, un outil super qui permet d'avoir plusieurs ISO bootables sur une même clef USB, et qui simplifie aussi l'ajout desdites ISO en évitant d'avoir à recourir à dd

Shameless plug: je pense que ça peut être le bon endroit pour mentionner également [Ventoy](https://ventoy.net), un outil super qui permet d'avoir plusieurs ISO bootables sur une même clef USB, et qui simplifie aussi l'ajout desdites ISO en évitant d'avoir à recourir à `dd`
Owner

Pour le risque de liens morts de manière générale, je propose :

  • de pas avoir peur des liens morts, ça arrive, vivons avec :-P Je sais que parfois c'est pour des questions de referencement Google qu'il y a cette crainte : prenons en compte cette info mais hiérarchisons là ; faire notre doc comme bon nous semble me parait plus important, notre temps est limité
  • de mettre (miroir) avec un lien de l'URL scrapé par la wayback machine si il y a un doute
  • si c'est un PDF, une image ou un bout de contenu bien spécifié, simplement de le dupliquer dans doc et créditer l'autrice ou l'auteur.
  • il y a des outils pour scanner un site web et trouver les liens morts, donc c'est pas compliqué de les enlever après coup

Le but de ces propositions c'est de se déculpabiliser de l'écriture : écrivons, documentons, partageons : au camps CHATONS c'était un point qui revenait souvent : avant même de """faire mal""", on ne fait pas (beaucoup), alors faisons nous plaisir :-)

Bref, merci pour ta contrib !

Edit : je réponds aux autres questions de Vincent plus tard

Pour le risque de liens morts de manière générale, je propose : - de pas avoir peur des liens morts, ça arrive, vivons avec :-P Je sais que parfois c'est pour des questions de referencement Google qu'il y a cette crainte : prenons en compte cette info mais hiérarchisons là ; faire notre doc comme bon nous semble me parait plus important, notre temps est limité - de mettre `(miroir)` avec un lien de l'URL scrapé par la wayback machine si il y a un doute - si c'est un PDF, une image ou un bout de contenu bien spécifié, simplement de le dupliquer dans doc et créditer l'autrice ou l'auteur. - il y a des outils pour scanner un site web et trouver les liens morts, donc c'est pas compliqué de les enlever après coup Le but de ces propositions c'est de se déculpabiliser de l'écriture : écrivons, documentons, partageons : au camps CHATONS c'était un point qui revenait souvent : avant même de """faire mal""", on ne fait pas (beaucoup), alors faisons nous plaisir :-) Bref, merci pour ta contrib ! Edit : je réponds aux autres questions de Vincent plus tard
Owner

Je pense que la target des liens n'est pas la bonne, à vérifier

Vérifié avec Zola, étonnament les liens en position relative fonctionnent.

Shameless plug: je pense que ça peut être le bon endroit pour mentionner également Ventoy [...]

Tout à fait, pourquoi pas. J'ai jamais utilisé Ventoy et je vois pas trop comment insérer ça dans le texte, donc si tu te sens n'hésite pas à rajouter ça comme tu le préfères.

Concernant les liens morts, oui rien n'urge. Au pire un jour si j'ai le temps je testerai un détecteur de 404 pour les corriger.

> Je pense que la target des liens n'est pas la bonne, à vérifier Vérifié avec Zola, étonnament les liens en position relative fonctionnent. > Shameless plug: je pense que ça peut être le bon endroit pour mentionner également Ventoy [...] Tout à fait, pourquoi pas. J'ai jamais utilisé Ventoy et je vois pas trop comment insérer ça dans le texte, donc si tu te sens n'hésite pas à rajouter ça comme tu le préfères. Concernant les liens morts, oui rien n'urge. Au pire un jour si j'ai le temps je testerai un détecteur de 404 pour les corriger.
Owner

Les pages Interconnexion et Wireguard sont obsolètes, il faut donc supprimer les liens de la doc. Ce qui est dit autour d'Interconnexion est obsolète également :

  • la route est terminée, on a choisi une solution à base de Wireguard en VPN pour l'interconnexion du control plane (nomad + consul) et pour le data plane (garage seulement) on se base sur le chiffrement dudit logiciel. La question pourrait se poser pour Tricot, aujourd'hui il va passer par le VPN je pense quand il doit cross les sites.

Enfin bref, les réflexions de l'époque n'ont plus lieu d'être et sont remplacées par de nouvelles.

Les pages Interconnexion et Wireguard sont obsolètes, il faut donc supprimer les liens de la doc. Ce qui est dit autour d'Interconnexion est obsolète également : - la route est terminée, on a choisi une solution à base de Wireguard en VPN pour l'interconnexion du control plane (nomad + consul) et pour le data plane (garage seulement) on se base sur le chiffrement dudit logiciel. La question pourrait se poser pour Tricot, aujourd'hui il va passer par le VPN je pense quand il doit cross les sites. Enfin bref, les réflexions de l'époque n'ont plus lieu d'être et sont remplacées par de nouvelles.
Owner

Pour le guide d'installation d'un noeud, est-il possible de rajouter une annexe avec ce contenu tu penses ?


Installation de NixOS en SSH (sans écran ni clavier)

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 :

{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 :

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
Pour le guide d'installation d'un noeud, est-il possible de rajouter une annexe avec ce contenu tu penses ? ---- ## Installation de NixOS en SSH (sans écran ni clavier) 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 ```
vincent closed this pull request 2022-08-24 19:41:28 +00:00
vincent reopened this pull request 2022-08-24 19:42:05 +00:00
vincent added 1 commit 2022-08-24 20:05:55 +00:00
Owner

Annexe ajoutée, partie obsolète virée.

Annexe ajoutée, partie obsolète virée.
lx added 1 commit 2022-08-26 13:20:53 +00:00
Owner

Je constate que dans le menu de navigation, la page "prérequis pour un noeud" apparaît après la page "guide de création d'un noeud". Logiquement ça devrait être l'inverse non ? On peut jouer sur les valeurs de weight: dans la partie tout en haut avec les metadata pour changer l'ordre des pages dans une même section ou sous-section.

Je constate que dans le menu de navigation, la page "prérequis pour un noeud" apparaît **après** la page "guide de création d'un noeud". Logiquement ça devrait être l'inverse non ? On peut jouer sur les valeurs de `weight: ` dans la partie tout en haut avec les metadata pour changer l'ordre des pages dans une même section ou sous-section.
Author
Owner

Je constate que dans le menu de navigation, la page "prérequis pour un noeud" apparaît après la page "guide de création d'un noeud". Logiquement ça devrait être l'inverse non ? On peut jouer sur les valeurs de weight: dans la partie tout en haut avec les metadata pour changer l'ordre des pages dans une même section ou sous-section.

J'ai rajouté les weight:, ce qui n'a pas marché du premier coup : il fallait aussi ajouter sort_by: weight dans le index.md.

Je pousse donc deux ajouts : le menu dans le bon ordre, et l'ajout d'un lien vers "Installer NixOs en SSH" dans le _index.md, soit à la racine de "Noeud" dans la pagnination.

> Je constate que dans le menu de navigation, la page "prérequis pour un noeud" apparaît **après** la page "guide de création d'un noeud". Logiquement ça devrait être l'inverse non ? On peut jouer sur les valeurs de `weight: ` dans la partie tout en haut avec les metadata pour changer l'ordre des pages dans une même section ou sous-section. J'ai rajouté les `weight:`, ce qui n'a pas marché du premier coup : il fallait aussi ajouter `sort_by: weight` dans le `index.md`. Je pousse donc deux ajouts : le menu dans le bon ordre, et l'ajout d'un lien vers "Installer NixOs en SSH" dans le `_index.md`, soit à la racine de "Noeud" dans la pagnination.
adrien added 1 commit 2022-08-28 09:16:28 +00:00
adrien force-pushed vincent-main from 093ceb5bbf to c6c671510c 2022-08-28 16:48:30 +00:00 Compare
Author
Owner

J'ai force-push une modif mineure : un lien mort dans le guide, le lien vers la page d'install avec SSH (yavait pas de majuscule au handle de la page).

J'ai _force-push_ une modif mineure : un lien mort dans le guide, le lien vers la page d'install avec SSH (yavait pas de majuscule au _handle_ de la page).
vincent added 1 commit 2022-08-30 19:06:32 +00:00
vincent merged commit 80f3cf37b6 into main 2022-08-30 19:07:23 +00:00
Owner

Branche fusionnée. Site synchronisé, c'est en ligne. Si on veut ajouter une mention sur Ventoy, on peut la faire sur main directement.

Branche fusionnée. Site synchronisé, c'est en ligne. Si on veut ajouter une mention sur Ventoy, on peut la faire sur `main` directement.
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Deuxfleurs/guide.deuxfleurs.fr#8
No description provided.