盡量縮短 VM 啟動時間

如要盡快啟動 VM,請按照本頁的說明,盡量縮短虛擬機器 (VM) 的啟動時間。縮短啟動時間會導致資源效率降低,因為專案會消耗額外資源,安全防護範圍也會擴大。

事前準備

如要使用 gdcloud 指令列介面 (CLI) 指令,請務必下載、安裝及設定 gdcloud CLI。Distributed Cloud 的所有指令都使用 gdcloudkubectl CLI,且需要作業系統 (OS) 環境。

取得 kubeconfig 檔案路徑

如要對 Management API 伺服器執行指令,請確認您具備下列資源:

  1. 登入並產生 Management API 伺服器的 kubeconfig 檔案 (如果沒有)。

  2. 使用 Management API 伺服器的 kubeconfig 檔案路徑,取代這些操作說明中的 MANAGEMENT_API_SERVER

要求權限和存取權

如要執行本頁列出的工作,您必須具備專案虛擬機器管理員角色。按照步驟驗證您在 VM 所在專案的命名空間中,是否具備專案 VirtualMachine 管理員 (project-vm-admin) 角色。

維持磁碟連線

VM 啟動時,從 VM 節點啟動與 VM 磁碟的連線需要幾秒鐘。為加快 VM 啟動速度,VM 關機時必須保持磁碟連線,這樣後續啟動 VM 時,磁碟連線就不會重新啟動。為此,當您執行指令來啟用磁碟連線保持運作時,系統會自動建立虛擬 Pod,掛接所有 VM 的磁碟。

啟用磁碟連線保持運作

如要讓專案 PROJECT 中名為 VM_NAME 的 VM 維持磁碟連線,請執行下列指令。系統會自動建立虛擬 Pod:

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
  annotations:
    disk.virtualmachine.gdc.goog/enable-connection-keep-alive: "true"
'

請按照下列定義,在這些操作說明中替換變數。

變數定義
MANAGEMENT_API_SERVER 管理 API 伺服器 kubeconfig 檔案。
VM_NAME VM 名稱。
PROJECT VM 所在的 GDC 專案。

啟用磁碟連線存留時間後,系統會在與 VM 相同的專案中建立名為 disk-connection-keep-alive-VM_NAME 的 Pod。由於 Pod 會維持 VM 的磁碟連線,因此下次重新啟動 VM 時會更快,後續啟動時間也會縮短。

設定磁碟連線的存留時間相依性

VM 重新啟動時,Kubernetes 排程器可能會選取其他節點。如要降低這種情況發生的機率,請在 VM 與保持運作 Pod 之間設定 VM 間親和性規則。設定自動執行這項操作:

kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
metadata:
  annotations:
    disk.virtualmachine.gdc.goog/add-connection-keep-alive-affinity: "true"
'

這會在 VM 上新增偏好的親和性設定,以保留 Pod。

注意事項

請注意以下兩件事:

  • Keep-alive Pod 會產生額外的資源用量:
    • 這會計入每個節點的 Pod 數量上限。
    • 並使用 Kubernetes 指派的額外 IP 位址。
    • 這項功能只會耗用極少的額外 CPU 和記憶體。
  • 由於存在 Keep-Alive Pod 的節點一律會附加 VM 的磁碟 (即使 VM 已關閉),因此安全介面會增加。

使用 BIOS 韌體

在 GDC 中,使用統一可延伸韌體介面 (UEFI) 韌體啟動 VM 的速度,比使用 BIOS 韌體啟動 VM 慢。

  1. 為確保啟動時間最短,請將 VM 的韌體類型設為 BIOS:

    kubectl --kubeconfig MANAGEMENT_API_SERVER patch virtualmachines.virtualmachine.gdc.goog VM_NAME -n PROJECT --type merge --patch $'
    spec:
      firmware:
        type: bios
        enableSecureBoot:
    '
    
  2. 如果 VM 正在執行,請按照重新啟動 VM 的操作說明重新啟動。

注意事項

使用 BIOS 韌體的缺點是不支援安全啟動

使用大型開機磁碟

如要盡量縮短 VM 啟動時間,請將大小為 500 GB 以上的開機磁碟連結至 VM。