如果 gkectl prepare 無法匯入 Open Virtual Appliance (OVA),您可以手動將 OVA 匯入 vSphere,將節點 OS 映像檔暫存為 VM 範本。一般工作流程不需要這項程序。不過,如果安全性政策禁止管理員工作站存取 ESXi 主機,或您想將 Windows Server 用於某些使用者叢集節點,則需要使用這個選項。
為什麼要手動匯入?
在一般叢集建立過程中,gkectl 會自動匯入必要的 OVA,做為標準部署程序的一部分。一般程序如下:
- 建立管理員工作站。
- 在管理員工作站上建立叢集設定檔。
- 執行
gkectl prepare。 這個指令會從 Cloud Storage bucket 擷取 OVA、將 OVA 匯入 vSphere,並將 OVA 標示為範本。 - 執行
gkectl create建立叢集。
在下列情況下,您必須手動匯入 OVA:
- 如果安全政策不允許管理員工作站存取 ESXi 主機,
gkectl prepare就無法自動將 OVA 匯入 vSphere。 - 如要將 Windows Server 用於部分使用者叢集節點,則須手動匯入 OVA。詳情請參閱「Windows Server」。
判斷需要的 OVA
建立管理員叢集前,請先填寫管理員叢集設定檔。在設定檔中,您可以設定 osImageType 欄位,指定要用於管理員叢集節點的 OS 映像檔類型。選項如下:
- 採用 containerd 的 Ubuntu
- Ubuntu
- Container-Optimized OS (COS)
建立使用者叢集前,請先填寫使用者叢集設定檔。在設定檔中,您會指定一或多個節點集區。針對每個節點集區,您需要指定集區中節點要使用的 OS 映像檔類型。
選項如下:
- 採用 containerd 的 Ubuntu
- Ubuntu
- Container-Optimized OS (COS)
- Windows Server
針對您打算在管理員叢集或使用者叢集中使用的每個 OS,您需要從 Cloud Storage 下載 OS 映像檔,並匯入 vSphere。
Ubuntu 或採用 containerd 的 Ubuntu
從 Cloud Storage 下載 Ubuntu OVA:
gcloud storage cp gs://gke-on-prem-release/node-os-ubuntu/gke-on-prem-ubuntu-VERSION.ova ./
將 VERSION 替換為完整版本號碼,例如 1.36.200-gke.118。如要取得版本號碼,請參閱「版本管理」。
將 OVA 匯入 vSphere,並標示為範本:
govc import.ova -options - gke-on-prem-release/node-os-ubuntu/gke-on-prem-ubuntu-VERSION.ova <<EOF
{
"DiskProvisioning": "thin",
"MarkAsTemplate": true
}
EOF
Container Optimized OS
從 Cloud Storage 下載 COS OVA:
gcloud storage cp gs://gke-on-prem-release/node-os-cos/gke-on-prem-cos-VERSION.ova ./
將 VERSION 替換為完整版本號碼,例如 1.36.200-gke.118。如要取得版本號碼,請參閱「版本管理」。
將 OVA 匯入 vSphere,並標示為範本:
govc import.ova -options - gke-on-prem-release/node-os-cos/gke-on-prem-cos-VERSION.ova <<EOF
{
"DiskProvisioning": "thin",
"MarkAsTemplate": true
}
EOF
Windows Server
請按照下列步驟操作:為 Windows Server 2019 建立 VMware vSphere 範本。
詳情請參閱「Windows Server 節點集區」。