คำสั่งบนกล่อง
ชุดคำสั่งสองชุดแยกกันเข้าถึง Customer Edge ได้ และไม่มีชุดใดบรรจุอีกชุดหนึ่ง
- บนกล่อง Site CLI มี 6 คำสั่งระดับบนสุด และ 82 คำสั่งย่อยของ
execcli - ผ่านเครือข่าย debug API มีแคตตาล็อกของตนเองที่มี 34 คำสั่ง
พื้นผิวส่วนใหญ่ที่อยู่บนกล่องไม่มีคำสั่งเทียบเท่าใน API: control plane ของ Vega ทั้งหมด, wrapper ของ Envoy, การจับแพ็กเก็ต, ชุดพารามิเตอร์ของ kubelet, ไฟล์ edit-* และคู่การเข้าถึง root เสริม สามารถเข้าถึงได้จากกล่องเท่านั้น
การเข้าถึงต้องใช้ SSH หรือ serial console และมีสิ่งหนึ่งที่ไม่มีการบันทึกไว้ที่ใดเลย:
วิธีการวัดและการทับซ้อนของชุดคำสั่ง
หัวข้อที่มีชื่อว่า “วิธีการวัดและการทับซ้อนของชุดคำสั่ง”ชุดคำสั่งด้านล่างนี้ไม่ได้คัดลอกมาจากเอกสารของผู้จำหน่าย แต่อ่านมาจากโหนดที่ใช้งานจริงด้วย scripts/sitecli_ssh_harvest.py และบันทึกไว้ใน sitecli/exec-catalog.json พร้อมที่มา โดยทำการวัดสามครั้งในสามสถานะการลงทะเบียน:
| วัดที่ | ระดับบนสุด | execcli |
|---|---|---|
site_state: PROVISIONING | 6 | 82 |
site_state: PROVISIONED | 6 | 82 |
site_state: ONLINE | 6 | 82 |
ทั้งสามครั้งให้ผล ชุดที่เหมือนกัน — ชื่อเดียวกัน ไม่ใช่แค่ยอดรวมเดียวกัน และครั้งสุดท้ายเป็น deployment ที่แตกต่างกันโดยมีชื่อ site และทรัพยากรต่างกัน ดังนั้นพื้นผิวคำสั่งจึงไม่เปลี่ยนแปลงตามสถานะการลงทะเบียน และคำสั่งที่ไม่มีอยู่นั้นหายไปจริงๆ ไม่ใช่แค่ยังไม่ถูกเสนอ
เมื่อเทียบกับ 34 คำสั่งของ debug API จะได้ตัวเลขสองค่าที่ควรแยกแยะให้ชัดเจน:
- 51 คำสั่งย่อยของ
execcliไม่มีคำสั่งเทียบเท่าใน API - 55 คือตัวเลขเดียวกันที่นับทั่วทั้งพื้นผิวบนกล่อง เนื่องจากยังรวมคำสั่ง
configure*สี่คำสั่งที่อยู่ในระดับบนสุดแทนที่จะอยู่ใต้execcli
ทั้งสองค่าถูกต้อง ผู้อ่านที่คำนวณค่าหนึ่งและพบอีกค่าไม่ได้ทำผิดพลาด ตัวเลขทุกตัวที่นี่มาจาก sitecli/catalog.json และ sitecli/exec-catalog.json
สิ่งที่มีเอกสารและสิ่งที่ระบุไว้เท่านั้น
หัวข้อที่มีชื่อว่า “สิ่งที่มีเอกสารและสิ่งที่ระบุไว้เท่านั้น”Customer Edge รัน Linux และ daemon ของบุคคลที่สามจำนวนหนึ่ง การจัดทำเอกสารคำสั่งของพวกเขาจะซ้ำซ้อนกับเอกสารอ้างอิงของตัวเองและบ่งชี้ว่า F5 เป็นเจ้าของ ดังนั้นกฎจึงเป็น: จัดทำเอกสารซอฟต์แวร์ของ F5 และสำหรับทุกอย่างอื่นให้จัดทำเอกสารเฉพาะสิ่งที่เฉพาะเจาะจงกับ CE เท่านั้น
สามระดับ เนื่องจาก “ของเรา” และ “ของพวกเขา” ไม่ใช่การแบ่งที่ชัดเจน การแบ่งนี้บันทึกไว้ใน sitecli/command-classification.json
| ระดับ | การปฏิบัติ |
|---|---|
| ซอฟต์แวร์ F5 | เอกสารครบถ้วน — วัตถุประสงค์ syntax อาร์กิวเมนต์ output ที่จับไว้ สิ่งที่ต้องมองหา Argo, Vega, vpm, vifdump, configure*, ชุด edit-*, พารามิเตอร์ kubelet, การเข้าถึง root |
| การตีความเฉพาะ CE | เครื่องมือของบุคคลที่สามที่ output มีความหมายเฉพาะบน CE การอ่านเฉพาะ CE ได้รับการจัดทำเอกสาร และ semantics ของเครื่องมือเองถูกปล่อยให้อยู่ต้นทาง |
| Passthrough | Linux หรือบุคคลที่สามทั่วไปที่ไม่มีอะไรเฉพาะ CE ที่จะพูดถึง ระบุว่ามีให้ใช้งาน พร้อมตัวชี้ไปยังต้นทาง ไม่มีข้อความร้อยแก้ว |
ความแตกต่างนี้เป็นตัวตัดสินว่าหน้าใดมีอยู่หรือไม่ และเป็นสิ่งที่ทำให้เอกสารนี้ไม่เสื่อมสลายกลายเป็นสำเนาที่แย่กว่าของ man pages
ซอฟต์แวร์ F5
หัวข้อที่มีชื่อว่า “ซอฟต์แวร์ 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
หัวข้อที่มีชื่อว่า “Passthrough”มีให้ใช้งานบนกล่องและ ไม่มีเอกสารที่นี่ — สิ่งเหล่านี้คือระบบปฏิบัติการและ daemon ของบุคคลที่สาม ไม่ใช่ซอฟต์แวร์ของ F5 และเอกสารอ้างอิงของตัวเองดีกว่าสิ่งที่หน้านี้จะพูดซ้ำได้
| คำสั่ง | ต้นทาง |
|---|---|
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 | ไฟล์เหล่านี้เป็นของระบบปฏิบัติการ |
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 — ทุกคำสั่งเหล่านี้ขัดจังหวะ workload บนโหนด |
สองคำสั่งเหล่านี้ควรรู้จักแม้ว่าจะไม่มีหน้าสำหรับมัน files ทำการดำเนินการไฟล์และจะเขียนเฉพาะใต้ /tmp เท่านั้น และทุก systemctl-restart-* มีความหมายว่าก่อให้เกิดการหยุดชะงักโดยนิยาม — การ restart crio หรือ kubelet จะขัดจังหวะ workload บนโหนดนั้น