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

ไซต์ที่ไม่เคยออนไลน์

บันทึกเมื่อ 2026-07-28 จาก CE หนึ่งโหนดของการติดตั้งนี้ sitecli/capture-manifest.json บันทึกว่าเป็นโหนดใด และ scripts/capture-sitecli.sh --check จะตรวจสอบชุดคำสั่ง ซ้ำอีกครั้งกับ CE ที่ทำงานอยู่จริง

  1. ยืนยันว่าคุณกำลังสอบถาม tenant ที่ถูกต้อง ขั้นตอนนี้ใช้เพียงหนึ่งคำสั่ง และอยู่ลำดับแรก เพราะหากผิดพลาดจะทำให้ทุกขั้นตอนถัดไปให้ข้อมูลที่หลอกลวง: ฟลีตที่สมบูรณ์ดีใน tenant ที่คุณไม่ได้ดูอยู่นั้นแยกไม่ออกจากฟลีตที่ไม่เคยลงทะเบียนเลย

    Terminal window
    cd terraform
    terraform output -raw xc_tenant # the tenant this deployment belongs to
    terraform output -raw xc_env_tenant # the tenant your shell is exporting
    f5-sales-demo
    f5-sales-demo

    ไม่ตรงกัน หรือข้อมูลรับรองที่คุณเชื่อว่าถูกต้องกลับคืนค่า 401 เปล่า ๆ? นั่นคือ อาการของโทเคนที่ออกให้กับ tenant อื่น และมันทำให้การติดตั้งนี้ต้องสร้างใหม่ทั้งหมด ไปแล้วหนึ่งครั้ง (issue 696)

  2. ยืนยันว่า tenant คิดอย่างไร การไม่ปรากฏในรายการไซต์เป็นปัญหาที่แตกต่าง จากการปรากฏอยู่แต่ไม่ได้เป็น ONLINE

    Terminal window
    curl -sS -H "Authorization: APIToken $XCSH_API_TOKEN" \
    "$XCSH_API_URL/api/config/namespaces/system/sites" | jq -r '.items[].name'

    หากไซต์มีอยู่และรายงานสถานะ ONLINE แสดงว่าการลงทะเบียนสำเร็จ และคุณกำลังอยู่ใน เวิร์กโฟลว์ที่ผิด

  3. ค้นหาการลงทะเบียนของไซต์และสถานะของมัน โหนดสามารถลงทะเบียนแล้วรอ การอนุมัติได้ ซึ่งจากภายนอกจะดูเหมือนความล้มเหลวไม่ต่างกันเลย

    Terminal window
    curl -sS -H "Authorization: APIToken $XCSH_API_TOKEN" \
    "$XCSH_API_URL/api/register/namespaces/system/registrations_by_site/<site>" \
    | jq -r '.items[] | "\(.name) \(.object.status.current_state) \(.object.spec.gc_spec.infra.hostname)"'
    r-a97e20c8-b7e1-483d-bd76-34a64ff8bc78 ONLINE f5-xc-ce-vm-01

    หากไม่มีรายการใดเลยหมายความว่าโหนดยังไม่ได้ลงทะเบียน — ให้ไปที่ serial console รายการ ที่อยู่ในสถานะอื่นที่ไม่ใช่ ONLINE หมายความว่าลงทะเบียนแล้วแต่มีบางอย่างหลังจากนั้นล้มเหลว ซึ่งเป็นการตรวจสอบที่ต่างออกไป

    หากต้องการตรวจทั้ง namespace เพื่อหาสิ่งที่รอการอนุมัติอยู่ listregistrationsbystate รับสถานะเป็น POST body:

    Terminal window
    curl -sS -X POST -H "Authorization: APIToken $XCSH_API_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{"namespace":"system","state":"PENDING"}' \
    "$XCSH_API_URL/api/register/namespaces/system/listregistrationsbystate" | jq -r '.items[].name'

    บนฟลีตที่สมบูรณ์ดีคำสั่งนี้จะไม่คืนค่าอะไรเลย เพราะการอนุมัติเป็นแบบอัตโนมัติ

  4. ยืนยันว่า VM ทำงานอยู่จริง ก่อนที่จะสรุปว่าเป็นความผิดพลาดของซอฟต์แวร์

    Terminal window
    az vm list -d -g <resource-group> --query "[].{name:name,power:powerState}" -o table
    Name Power
    ---------------- ----------
    f5-xc-ce-vm-01 VM running
    f5-xc-ce-vm-02 VM running
    f5-xc-ce-vm-03 VM running
    mcn-ce-ha-client VM running
  5. เชื่อมต่อ serial console การใช้งานแบบอินเทอร์แอกทีฟต้องมีเทอร์มินัลจริง การเชื่อมต่อ สามารถเขียนสคริปต์ผ่าน websocket แทนได้ — ดู serial console

    Terminal window
    az serial-console connect -g <resource-group> -n <vm-name>

    หากถูกปฏิเสธ ให้ตรวจสอบว่าเปิดใช้งาน boot diagnostics บน VM แล้วก่อนที่จะสรุปว่า โหนดเข้าถึงไม่ได้ ข้อกำหนดเบื้องต้นนี้และรูปแบบความล้มเหลวของมันอธิบายไว้ในหน้า serial console

  6. อ่านสิ่งที่คอนโซลแสดง ตามลำดับนี้ เริ่มจาก cloud-init ก่อน — โหนดที่ cloud-init ไม่เคยทำงานเสร็จจะไม่มีการกำหนดค่าให้ลงทะเบียนด้วย จากนั้นดู ความพยายามลงทะเบียนเอง แล้วจึงดู DNS: หากโหนดไม่สามารถแปลงชื่อ register.ves.volterra.io ได้ ทุกอย่างที่อยู่ถัดจากนั้นก็จะทำงานไม่ได้

  7. เมื่อโหนดเป็น ONLINE แล้ว ให้ตรวจสอบด้วย health และคาดว่าจะได้ state: PROVISIONED

  • คุณชี้ไปที่ tenant ที่ผิด ทำให้ฟลีตที่ปกติดีดูเหมือนไม่มีอยู่ ขั้นตอนที่ 1
  • cloud-init ทำงานไม่เสร็จ ทำให้ /etc/vpm/config.yaml ไม่มีอยู่หรือไม่ถูกต้อง
  • โทเคนการลงทะเบียนหมดอายุ ถูกใช้ไปแล้ว หรือมาจาก tenant อื่น
  • ไม่มีเส้นทาง egress ไปยัง register.ves.volterra.io
  • ความคลาดเคลื่อนของเวลามากพอที่จะทำให้ใบรับรองไม่ถูกต้อง — ตัดประเด็นนี้ออกได้อย่างรวดเร็ว ในภายหลังด้วย chronyc-sources แต่จะเข้าถึงไม่ได้ จนกว่าโหนดจะออนไลน์ แบนเนอร์ล็อกอินของ SSH จะรายงาน NTP: Synced และสถานะของ resolver ก่อนที่คุณจะรันสิ่งใด เมื่อ SSH ใช้งานได้