Comandi on-box
Due set di comandi separati raggiungono un Customer Edge, e nessuno dei due contiene l’altro.
- Sul dispositivo, la Site CLI dispone di 6 comandi di primo livello e 82 sottocomandi
execcli. - Tramite rete, la debug API ha un proprio catalogo di 34.
La maggior parte della superficie on-box non ha un equivalente API: l’intero piano di controllo Vega, i wrapper Envoy, la cattura dei pacchetti, il set di parametri kubelet, i file edit-* e la coppia ausiliaria di accesso root sono raggiungibili solo dal dispositivo.
Per accedervi è necessario SSH o la console seriale, e una cosa che non è documentata da nessuna parte:
Come è stato misurato e come si sovrappongono i set
Sezione intitolata “Come è stato misurato e come si sovrappongono i set”Il set riportato di seguito non è trascritto da un documento del fornitore. È stato letto da nodi attivi con
scripts/sitecli_ssh_harvest.py e salvato in sitecli/exec-catalog.json con la relativa provenienza. Tre esecuzioni, in tre stati di registrazione:
| Misurato in | Primo livello | execcli |
|---|---|---|
site_state: PROVISIONING | 6 | 82 |
site_state: PROVISIONED | 6 | 82 |
site_state: ONLINE | 6 | 82 |
Tutte e tre hanno restituito set identici — gli stessi nomi, non semplicemente gli stessi totali, e l’ultima era un deployment diverso con nomi di sito e risorse differenti. Pertanto la superficie dei comandi non cambia con lo stato di registrazione, e un comando assente è genuinamente assente piuttosto che non ancora disponibile.
Rispetto ai 34 dell’API di debug, si ottengono due valori da tenere distinti:
- 51 sottocomandi
execclinon hanno un equivalente API. - 55 è lo stesso valore conteggiato sull’intera superficie on-box, perché include anche
i quattro comandi
configure*, che si trovano al primo livello anziché sottoexeccli.
Entrambi sono corretti; un lettore che ricalcola uno e trova l’altro non ha commesso un errore.
Ogni valore qui deriva da sitecli/catalog.json e sitecli/exec-catalog.json.
Cosa è documentato e cosa è solo elencato
Sezione intitolata “Cosa è documentato e cosa è solo elencato”Un Customer Edge esegue Linux e diversi demoni di terze parti. Documentare i loro comandi duplicherebbe i loro riferimenti e implicherebbe che F5 ne sia proprietaria, quindi la regola è: documentare il software F5, e per tutto il resto documentare solo ciò che è specifico di un CE.
Tre livelli, perché “nostro” e “altrui” non è una divisione netta. La divisione è registrata in
sitecli/command-classification.json.
| Livello | Trattamento |
|---|---|
| Software F5 | Documentazione completa — scopo, sintassi, argomenti, output acquisito, cosa cercare. Argo, Vega, vpm, vifdump, configure*, il set edit-*, parametri kubelet, accesso root. |
| Interpretazione specifica per CE | Uno strumento di terze parti il cui output ha un significato particolare su un CE. Viene documentata la lettura specifica per CE e la semantica propria dello strumento viene lasciata a monte. |
| Passthrough | Linux puro o terze parti senza nulla di specifico per CE da segnalare. Elencato come disponibile, con un puntatore a monte. Nessun testo descrittivo. |
Questa distinzione determina se una pagina esiste o meno, ed è ciò che impedisce a questa documentazione di degradarsi in una copia peggiore delle pagine man.
Software F5
Sezione intitolata “Software 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
Sezione intitolata “Passthrough”Disponibili sul dispositivo e non documentati qui — si tratta del sistema operativo e dei demoni di terze parti, non del software F5, e i loro riferimenti propri sono migliori di qualsiasi cosa questa pagina potrebbe riformulare.
| Comandi | A monte |
|---|---|
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 | I file appartengono al sistema operativo |
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 — ognuno di questi interrompe i workload sul nodo |
Due di questi vale la pena conoscere anche se non hanno una pagina dedicata. files esegue
operazioni sui file e scrive solo sotto /tmp. E ogni systemctl-restart-* è
per definizione distruttivo — riavviare crio o kubelet interrompe i workload su quel nodo.