ข้ามไปยังเนื้อหา

คำสั่งบนกล่อง

ชุดคำสั่งสองชุดแยกกันเข้าถึง 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: PROVISIONING682
site_state: PROVISIONED682
site_state: ONLINE682

ทั้งสามครั้งให้ผล ชุดที่เหมือนกัน — ชื่อเดียวกัน ไม่ใช่แค่ยอดรวมเดียวกัน และครั้งสุดท้ายเป็น 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 ของเครื่องมือเองถูกปล่อยให้อยู่ต้นทาง
PassthroughLinux หรือบุคคลที่สามทั่วไปที่ไม่มีอะไรเฉพาะ CE ที่จะพูดถึง ระบุว่ามีให้ใช้งาน พร้อมตัวชี้ไปยังต้นทาง ไม่มีข้อความร้อยแก้ว

ความแตกต่างนี้เป็นตัวตัดสินว่าหน้าใดมีอยู่หรือไม่ และเป็นสิ่งที่ทำให้เอกสารนี้ไม่เสื่อมสลายกลายเป็นสำเนาที่แย่กว่าของ man pages

มีให้ใช้งานบนกล่องและ ไม่มีเอกสารที่นี่ — สิ่งเหล่านี้คือระบบปฏิบัติการและ daemon ของบุคคลที่สาม ไม่ใช่ซอฟต์แวร์ของ F5 และเอกสารอ้างอิงของตัวเองดีกว่าสิ่งที่หน้านี้จะพูดซ้ำได้

คำสั่งต้นทาง
ping, netstat, lsof, ip, ip-link-show, nmcli, tracepathiproute2, NetworkManager
top, check-mem, sysctl, load-sysctl-conf, journalctl, files, rpm-ostree, chronyc-sourcescoreutils, 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-multipathdsystemd
systemctl-restart-crio, systemctl-restart-docker, systemctl-restart-kubelet, systemctl-restart-iscsid, systemctl-restart-multipathdsystemd — ทุกคำสั่งเหล่านี้ขัดจังหวะ workload บนโหนด

สองคำสั่งเหล่านี้ควรรู้จักแม้ว่าจะไม่มีหน้าสำหรับมัน files ทำการดำเนินการไฟล์และจะเขียนเฉพาะใต้ /tmp เท่านั้น และทุก systemctl-restart-* มีความหมายว่าก่อให้เกิดการหยุดชะงักโดยนิยาม — การ restart crio หรือ kubelet จะขัดจังหวะ workload บนโหนดนั้น