序列主控台
擷取自本部署環境中某一台 CE,時間為 2026-07-28。sitecli/capture-manifest.json
記錄了是哪一個節點,而 scripts/capture-sitecli.sh --check 會針對執行中的 CE
重新驗證指令介面。
Azure 序列主控台透過 Azure 平台掛接到節點的模擬序列埠。它不會經過 F5 Distributed Cloud 控制平面、節點的資料平面,或任何由節點掌控的網路路徑——這正是為什麼在其他方式都失效時, 它依然能運作。
當某台 CE 從未成功啟動時就該動用它:註冊失敗、租戶中找不到該站點, 或節點雖已啟動卻沒有對外路由。在上述所有情況下, 除錯 API 都沒有可轉送的通道。SSH 在註冊失敗後仍可使用, 但前提是其金鑰已在首次開機時寫入,且你能從 VNet 內部連到節點的內部位址—— 對於一台你初次接觸的節點,這兩點都不成立。
如果節點還有任何可用的網路路徑,請先嘗試 Site Console: 它同樣能在註冊失敗後使用、不需要金鑰,也不會把已在查看該節點的人踢下線。 序列主控台是在網路路徑本身就是故障點時所剩的最後手段。
前置條件:開機診斷
Section titled “前置條件:開機診斷”Azure 要求 VM 必須啟用開機診斷,才會掛接序列主控台。
這已由 terraform/modules/ce-node 啟用:
boot_diagnostics {}空白區塊表示選用 Azure 代管的儲存體,因此不需要自行管理診斷儲存體帳戶、 生命週期政策或存取金鑰。在節點上確認:
az vm show -g <resource-group> -n <vm-name> --query diagnosticsProfile{ "bootDiagnostics": { "enabled": true } }不用終端機也能檢查可用性
Section titled “不用終端機也能檢查可用性”掛接需要互動式工作階段,但要判斷它是否能掛接只需兩個 API 呼叫。 兩者在健康檢查中都很有用。
該服務必須在訂閱層級為啟用狀態——管理員可以在整個租戶範圍停用它:
az rest --method get --url \ "https://management.azure.com/subscriptions/<sub>/providers/Microsoft.SerialConsole/consoleServices/default?api-version=2018-05-01"{ "properties": { "disabled": false } }接著請求連線到特定節點的序列埠:
az rest --method post \ --headers "Content-Type=application/json" --body '{}' --url \ "https://management.azure.com/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.Compute/virtualMachines/<vm>/providers/Microsoft.SerialConsole/serialPorts/0/connect?api-version=2018-05-01"回傳以 wss:// 開頭的 connectionString——在本部署環境中是
eastus.gateway.serialconsole.azure.com——表示主控台現在就可以掛接。
在啟用開機診斷之前,此呼叫沒有任何可掛接的對象。
-
安裝擴充功能(僅需一次):
Terminal window az extension add --name serial-console -
掛接:
Terminal window az serial-console connect -g <resource-group> -n <vm-name> -
你會抵達節點自己的登入提示字元,而不是 shell,且位於設備的稽核橫幅之後。 序列主控台證明的是通道可用;它不會繞過身分驗證。
擷取自 f5-xc-ce-vm-01,中段 systemd unit 輸出因無額外資訊而省略:
+-----------------------------------------------+Connected to the serial port of the VM.If no login prompt is displayed, press ENTER.+-----------------------------------------------+
Probing EDD (edd=off to disable)... okMemory KASLR using RDRAND RDTSC...init_cea_offsets KASLR using RDRAND RDTSC...Poking KASLR using RDRAND RDTSC...
Welcome to Red Hat Enterprise Linux 9.2024.6.3 (Plow) dracut-057-44.git20230822.el9 (Initramfs)!
[ OK ] Started Dispatch Password …ts to Console Directory Watch.
... [320 lines of systemd unit output elided]
[ OK ] Started Serial Getty on ttyS0.[ OK ] Reached target Login Prompts.[ OK ] Started OpenSSH server daemon.[ OK ] Started Container Runtime Interface for OCI (CRI-O).[ 19.960784] cloud-init[1311]: Cloud-init v. 23.1.1-12.el9_3 running 'modules:config' at Sun, 26 Jul 2026 13:13:54 +0000. Up 19.84 seconds.[ OK ] Finished Apply the settings specified in cloud-config. Starting Execute cloud user/final scripts...[ OK ] Started Docker Application Container Engine. Starting Argo Watch service... Starting VP Manager image load...[ OK ] Started Argo Watch service.[ 21.544663] cloud-init[1512]: Cloud-init v. 23.1.1-12.el9_3 running 'modules:final' at Sun, 26 Jul 2026 13:13:56 +0000. Up 21.41 seconds.[ 22.751629] cloud-init[1512]: Cloud-init v. 23.1.1-12.el9_3 finished at Sun, 26 Jul 2026 13:13:57 +0000. Datasource DataSourceAzure [seed=/var/lib/waagent]. Up 22.37 seconds[ OK ] Finished Execute cloud user/final scripts.[ OK ] Started libcontainer conta…f4b59f3b96c31ee10cd95f6eb371c.
UNAUTHORIZED ACCESS TO THIS DEVICE IS PROHIBITEDAll actions performed on this device are auditedf5-xc-ce-vm-01 login: [ 123.107074] Warning: Deprecated Driver is detected: iptables will not be maintained in a future major release and may be disabled[ 123.144641] Warning: Deprecated Driver is detected: ip6tables will not be maintained in a future major release and may be disabled該記錄中有四點值得注意,因為它們回答了除錯 API 無法回答的問題:
- cloud-init 已完成——
Datasource DataSourceAzure,於 22.37 秒完成。 從未註冊成功的節點通常就是在這裡失敗,而這裡正是你能看到的地方。 - 兩套容器執行環境都已啟動。
Container Runtime Interface for OCI (CRI-O)與Docker Application Container Engine都是[ OK ],這是雙執行環境行為在開機時的 證據,而該行為常讓人在 crictl 與 docker 中感到意外。 VP Manager image load與Argo Watch service——vpm與 Argo 正在啟動。- 提示字元是節點自己的,位於其稽核橫幅之後。序列主控台給你的是登入提示字元, 不是一個工作階段。
在這裡能看到、但 API 無法呈現的內容
Section titled “在這裡能看到、但 API 無法呈現的內容”- cloud-init 正在執行、失敗,或從未啟動——這是節點從未註冊成功的常見原因。
- 針對
register.ves.volterra.io的註冊嘗試,包括設定錯誤 或租戶拒絕的 token。 - 任何代理程式尚未執行之前的核心與開機訊息。
- 節點完全沒有可用網路路徑時的狀態,而這種情況會讓其他所有途徑失效。
對於處於 ONLINE 狀態的節點,請優先使用除錯 API:它可指令碼化、
能產生可重複執行的證據,且不會佔用唯一的序列埠。