Commandes embarquées
Deux jeux de commandes distincts atteignent un Customer Edge, et aucun ne contient l’autre.
- Sur l’équipement, la CLI du site dispose de 6 commandes de premier niveau et de 82 sous-commandes
execcli. - Par le réseau, l’API debug possède son propre catalogue de 34.
La majeure partie de la surface embarquée n’a pas d’équivalent API : l’intégralité du plan de contrôle Vega, les wrappers Envoy, la capture de paquets, le jeu de paramètres kubelet, les fichiers edit-* et la paire d’accès root auxiliaire ne sont accessibles que depuis l’équipement.
Y accéder nécessite SSH ou la console série, ainsi qu’un élément non documenté nulle part :
Comment cela a été mesuré, et comment les jeux se recoupent
Section intitulée « Comment cela a été mesuré, et comment les jeux se recoupent »Le jeu ci-dessous n’a pas été transcrit depuis un document fournisseur. Il a été lu sur des nœuds actifs avec scripts/sitecli_ssh_harvest.py et engagé dans sitecli/exec-catalog.json avec sa provenance. Trois exécutions, dans trois états d’enregistrement :
| Mesuré à | Niveau supérieur | execcli |
|---|---|---|
site_state: PROVISIONING | 6 | 82 |
site_state: PROVISIONED | 6 | 82 |
site_state: ONLINE | 6 | 82 |
Les trois ont retourné des jeux identiques — les mêmes noms, et pas seulement les mêmes totaux, et la dernière exécution concernait un déploiement différent avec des noms de site et de ressources différents. La surface de commandes ne change donc pas avec l’état d’enregistrement, et une commande absente est genuinement absente plutôt que simplement pas encore proposée.
Par rapport aux 34 commandes de l’API debug, cela donne deux chiffres qu’il convient de distinguer :
- 51 sous-commandes
execclin’ont pas d’équivalent API. - 55 est le même chiffre calculé sur l’ensemble de la surface embarquée, car il inclut également les quatre commandes
configure*, qui se trouvent au premier niveau plutôt que sousexeccli.
Les deux sont corrects ; un lecteur qui recalcule l’un et trouve l’autre n’a pas fait d’erreur. Chaque chiffre ici dérive de sitecli/catalog.json et sitecli/exec-catalog.json.
Ce qui est documenté, et ce qui est seulement listé
Section intitulée « Ce qui est documenté, et ce qui est seulement listé »Un Customer Edge exécute Linux et un certain nombre de démons tiers. Documenter leurs commandes reviendrait à dupliquer leurs propres références et laisserait entendre que F5 en est propriétaire. La règle est donc : documenter les logiciels F5, et pour tout le reste ne documenter que ce qui est spécifique à un CE.
Trois niveaux, car la distinction « à nous » et « à eux » n’est pas nette. Cette distinction est enregistrée dans sitecli/command-classification.json.
| Niveau | Traitement |
|---|---|
| Logiciel F5 | Documentation complète — objectif, syntaxe, arguments, sortie capturée, ce qu’il faut observer. Argo, Vega, vpm, vifdump, configure*, le jeu edit-*, paramètres kubelet, accès root. |
| Interprétation spécifique au CE | Un outil tiers dont la sortie a une signification particulière sur un CE. La lecture propre au CE est documentée et la sémantique de l’outil lui-même est laissée en amont. |
| Passthrough | Linux ordinaire ou tiers sans rien de spécifique au CE à dire. Listé comme disponible, avec un pointeur vers l’amont. Aucune prose. |
Cette distinction détermine si une page existe ou non, et c’est ce qui empêche cette documentation de dépérir en une copie dégradée des pages de manuel.
Logiciel F5
Section intitulée « Logiciel F5 »vegactl commands: configuration objects, introspection tables, trace buffers, and which node holds the primary role.vifdump commands. Documented, never run here: they write capture files onto the node.edit-* commands that open F5-owned files on the node.xuser root account. Support-directed, and it leaves the node modified.configure* commands at the Site CLI top level.Passthrough
Section intitulée « Passthrough »Disponibles sur l’équipement et non documentées ici — il s’agit du système d’exploitation et des démons tiers, et non du logiciel F5 ; leurs propres références sont meilleures que tout ce que cette page pourrait reformuler.
| Commandes | En amont |
|---|---|
ping, netstat, lsof, ip, ip-link-show, nmcli, tracepath | iproute2, NetworkManager |
top, check-mem, sysctl, load-sysctl-conf, journalctl, files, rpm-ostree, chronyc-sources | coreutils, procps, systemd, rpm-ostree, chrony |
edit-etc-hosts, edit-sysctl-conf | Les fichiers appartiennent au système d’exploitation |
systemctl-status-crio, systemctl-status-docker, systemctl-status-kubelet, systemctl-status-iscsid, systemctl-status-multipathd | systemd |
systemctl-restart-crio, systemctl-restart-docker, systemctl-restart-kubelet, systemctl-restart-iscsid, systemctl-restart-multipathd | systemd — chacune de ces commandes interrompt les charges de travail sur le nœud |
Deux d’entre elles méritent d’être connues même si elles ne font pas l’objet d’une page. files effectue des opérations sur les fichiers et n’écrira que sous /tmp. Et chaque systemctl-restart-* est par définition perturbatrice — redémarrer crio ou kubelet interrompt les charges de travail sur ce nœud.