Nœuds
La page Nœuds (/hosts, /nodes y mène aussi) liste en une seule vue toutes les machines du cluster gérées par
l'agent Navin, où qu'elles tournent : serveur physique, machine virtuelle sur site, cloud privé, datacenter ou cloud
public (AWS, Azure, Google Cloud, OVHcloud...). Elle nécessite cluster:read ; ajouter et modifier des nœuds
nécessite hosts:manage.
Ce que montre l'écran
Une seule liste : nœud, état (registering, healthy, unhealthy, lost, maintenance, decommissioned) et
confiance de son agent (En quarantaine, Révoqué), services installés, CPU, mémoire, disque, réseau, système,
GPU. Voir le détail ajoute la plateforme, la version de l'agent, le dernier battement, l'identité (certificat,
identifiant SPIFFE, rotation à faire) et qui gère la machine (plateforme ou client).
Le détail d'un nœud (/hosts/<id>) montre ses faits (système, CPU, mémoire, disques, GPU, plateforme), ses
métriques, ses Contrôles préalables et ses composants.
Ajouter des nœuds
Ajouter des nœuds ouvre un seul écran avec quatre méthodes. Toutes installent le même agent, la même unité systemd et enregistrent le nœud de la même façon ; l'agent vérifie l'empreinte de l'autorité du Manager avant de s'enregistrer.
| Méthode | Pour | Ce que fait la console |
|---|---|---|
| Commande à coller | serveur physique, VM, cloud privé, datacenter | une commande à coller dans un terminal de la machine (compte avec sudo) : télécharge l'agent depuis le Manager, vérifie son SHA-256, l'installe (dnf, apt, pacman ou archive), enregistre le nœud et démarre l'agent |
| SSH depuis le Manager | machines joignables en SSH, directement ou par un bastion | le Manager se connecte avec une clé Ed25519 (RSA si la politique SSH du cluster l'autorise, clé protégée par phrase de passe acceptée) ou un certificat OpenSSH d'une autorité approuvée, vérifie l'identité de chaque machine (empreinte SHA256 ou clé publique, ou autorité des machines) puis lance la même installation (opération host.ssh_bootstrap) |
| Instance cloud | AWS, Azure, Google Cloud, OVHcloud, OpenStack, Scaleway, Oracle, Outscale, cloud privé avec cloud-init | le script à donner en données utilisateur (ou script de démarrage), l'endroit où le mettre dans la console du cloud et la ligne de commande ; l'instance s'enregistre à son premier démarrage, sans SSH |
| Image ou automatisation | Ansible, Terraform, image de référence, Puppet, Chef, Salt | la commande Ansible, les lignes Terraform et le fichier enroll.env à déposer dans l'image |
Les trois méthodes par jeton partagent un accès (jeton d'amorçage limité dans le temps et en utilisations), affiché
une seule fois ; Accès actifs les liste et les révoque. Le script ne fait rien sur une machine déjà enregistrée
(il peut tourner à chaque démarrage), n'installe pas l'agent s'il est déjà là, et ne lance rien s'il est tronqué.
Quand la console a son propre certificat, il est déposé dans /etc/navin-manager-agent/manager-tls.pem et donné à
nm-agent register --ca-file. Le proxy d'entreprise des Paramètres est appliqué à dnf, apt-get et pacman.
Sécurité de la méthode SSH : jamais de mot de passe ni de compte root, jamais de clé d'hôte apprise à la volée
(StrictHostKeyChecking=yes), chaque bastion vérifié de la même façon, la clé privée et le jeton gardés en mémoire
le temps de l'opération seulement, le script envoyé sur l'entrée standard (le jeton n'apparaît sur aucune ligne de
commande), les journaux masqués. Le compte doit avoir sudo sans mot de passe (sudo_password_required sinon).
Actions
| Bouton | Effet | Permission |
|---|---|---|
| Ajouter des nœuds | les quatre méthodes ci-dessus | hosts:manage |
| Mettre en quarantaine, Rétablir, Révoquer (menu de la ligne) | confiance de l'agent : la quarantaine bloque tâches et commandes, la révocation tout appel | hosts:manage |
| Mettre à jour l'agent (menu de la ligne) | commande signée agent.update vers le binaire signé du miroir | hosts:manage |
| Bris de glace (menu de la ligne) | certificat SSH d'urgence, deux autres approbateurs | hosts:manage |
| Rafraîchir l'inventaire | opération host.facts (tâche facts.collect) | hosts:manage |
| Contrôles préalables | opération host.preflight | hosts:manage |
| Démarrer, Arrêter, Redémarrer un composant | opération service.action sur ce nœud | services:operate |
| Nouvelle valeur d'un paramètre du nœud | opération host.parameters | hosts:manage |
| Retirer du service | opération host.decommission ; refusée tant qu'il reste des composants | hosts:manage |
| Supprimer le nœud | supprime le nœud de l'inventaire | hosts:manage |
Un nœud géré par le client n'offre ni mise à jour ni bris de glace.
Tâches courantes
- Ajouter une machine sur site. Ajouter des nœuds > Commande à coller > Créer l'accès, copiez la commande, collez-la sur la machine (voir Installer l'agent Navin). Le nœud apparaît avec ses contrôles préalables.
- Ajouter des instances AWS, Azure ou Google Cloud. Instance cloud, choisissez le cloud, téléchargez
navin-user-data.shet donnez-le en données utilisateur à la création des instances. - Retirer un nœud. Retirez ses composants dans Services, puis Retirer du service.