Comandos en la caja
Dos conjuntos de comandos separados llegan a un Customer Edge, y ninguno contiene al otro.
- En la caja, la CLI del Sitio tiene 6 comandos de nivel superior y 82 subcomandos
execcli. - A través de la red, la API de depuración tiene su propio catálogo de 34.
La mayor parte de la superficie en la caja no tiene equivalente en la API: todo el plano de control Vega, los wrappers de Envoy, la captura de paquetes, el conjunto de parámetros de kubelet, los archivos edit-* y el par de acceso root auxiliar solo son accesibles desde la caja.
Para acceder a ellos se necesita SSH o la consola serie, y algo que no está documentado en ningún lugar:
Cómo se midió esto y cómo se superponen los conjuntos
Sección titulada «Cómo se midió esto y cómo se superponen los conjuntos»El conjunto que aparece a continuación no fue transcrito de un documento del proveedor. Se leyó de nodos en producción con scripts/sitecli_ssh_harvest.py y se confirmó en sitecli/exec-catalog.json con su procedencia. Tres ejecuciones, en tres estados de registro:
| Medido en | Nivel superior | execcli |
|---|---|---|
site_state: PROVISIONING | 6 | 82 |
site_state: PROVISIONED | 6 | 82 |
site_state: ONLINE | 6 | 82 |
Las tres devolvieron conjuntos idénticos — los mismos nombres, no solo los mismos totales, y la última fue un despliegue diferente con nombres de sitio y recursos distintos. Por lo tanto, la superficie de comandos no cambia con el estado de registro, y un comando que está ausente realmente está ausente en lugar de no estar disponible aún.
En comparación con los 34 de la API de depuración, esto da dos cifras que conviene tener claras:
- 51 subcomandos
execclino tienen equivalente en la API. - 55 es la misma cifra contada sobre toda la superficie en la caja, porque también incluye los cuatro comandos
configure*, que se encuentran en el nivel superior en lugar de bajoexeccli.
Ambas son correctas; un lector que recalcule una y encuentre la otra no ha cometido un error. Todas las cifras aquí se derivan de sitecli/catalog.json y sitecli/exec-catalog.json.
Qué está documentado y qué solo se lista
Sección titulada «Qué está documentado y qué solo se lista»Un Customer Edge ejecuta Linux y varios daemons de terceros. Documentar sus comandos duplicaría sus propias referencias e implicaría que F5 es propietario de ellos, por lo que la regla es: documentar el software de F5, y para todo lo demás documentar solo lo que es específico de un CE.
Tres niveles, porque “nuestro” y “de ellos” no es una división limpia. La división está registrada en sitecli/command-classification.json.
| Nivel | Tratamiento |
|---|---|
| Software de F5 | Documentación completa — propósito, sintaxis, argumentos, salida capturada, qué buscar. Argo, Vega, vpm, vifdump, configure*, el conjunto edit-*, parámetros de kubelet, acceso root. |
| Interpretación específica del CE | Una herramienta de terceros cuya salida tiene un significado particular en un CE. Se documenta la lectura específica del CE y la semántica propia de la herramienta se deja en el upstream. |
| Passthrough | Linux simple o de terceros sin nada específico del CE que mencionar. Se lista como disponible, con un puntero al upstream. Sin prosa. |
Esa distinción decide si existe una página en absoluto, y es lo que evita que esta documentación se deteriore hasta convertirse en una copia peor de las páginas del manual.
Software de F5
Sección titulada «Software de F5»vegactl: objetos de configuración, tablas de introspección, búferes de traza y qué nodo tiene el rol primario.vifdump. Documentados, nunca ejecutados aquí: escriben archivos de captura en el nodo.edit-* que abren archivos propiedad de F5 en el nodo.xuser. Dirigido por Soporte, y deja el nodo modificado.configure* en el nivel superior de la CLI del Sitio.Passthrough
Sección titulada «Passthrough»Disponibles en la caja y no documentados aquí — estos son el sistema operativo y los daemons de terceros, no el software de F5, y sus propias referencias son mejores que cualquier cosa que esta página pudiera replicar.
| Comandos | Upstream |
|---|---|
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 | Los archivos son del 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 — cada uno de estos interrumpe las cargas de trabajo en el nodo |
Dos de estos merecen conocerse aunque no tengan página propia. files realiza operaciones con archivos y solo escribirá en /tmp. Y cada systemctl-restart-* es disruptivo por definición — reiniciar crio o kubelet interrumpe las cargas de trabajo en ese nodo.