Linux 自訂機器映像

此程序將指導您建置 Linux (Ubuntu) 自訂機器映像,以便在 vSphere 上建立以類別為基礎的叢集時使用。它分為以下各節:

要為以計劃為基礎的叢集 (舊版) 建置 Linux 自訂機器映像,請參閱 Linux 自訂機器映像 (舊版)。有關 Tanzu Kubernetes Grid 中的叢集類型的詳細資訊,請參閱工作負載叢集

Linux 映像的必要條件

若要建置 Linux 自訂機器映像,您需要:

  • vSphere 上的帳戶
  • 安裝了以下項目的 macOS 或 Linux 工作站:

擷取作業系統映像版本

在此步驟中,您將擷取與要用於自訂映像的 Kubernetes 版本的預設 Ubuntu OVA 關聯的作業系統映像版本。您需要將此作業系統映像版本指派給以下建置 Linux 映像步驟中的自訂映像。

要擷取作業系統映像版本,請根據您的使用案例執行以下其中一項:

  • 如果您有使用目前 Tanzu Kubernetes Grid 版本的預設 Kubernetes 版本建立正在執行的管理叢集,則可以從該叢集中擷取作業系統映像版本:

    1. kubectl 內容設定為管理叢集。

    2. 從可用 TKr 清單中,選擇要用於自訂映像的 Kubernetes 版本的 Tanzu Kubernetes 版本 (TKr)。例如,v1.25.7---vmware.1-tkg.1。如要列出可用的 TKr,請執行:

      kubectl get tkr
      
    3. 開啟 TKr 並找到 osImages 屬性。此屬性指定與 TKr 關聯的 OSImage 物件的名稱。

    4. 找到並開啟預設 Ubuntu OVA 的 OSImage 物件。OSImage 物件的名稱與 TKr 中的 osImages 名稱之一相符。

      kubectl get osimages
      
    5. 在預設 Ubuntu OVA 的 OSImage 物件中,找到 version 屬性的值並將其記錄在 spec.image.ref 下。例如,v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e

  • 如果您沒有使用目前 Tanzu Kubernetes Grid 版本的預設 Kubernetes 版本建立正在執行的管理叢集,則可以本機或從 vSphere,從預設 Ubuntu OVA 擷取作業系統映像版本:

    • 要在本地擷取作業系統映像版本,請執行以下操作:

      1. 從 Customer Connect 下載目標 Kubernetes 版本的預設 Ubuntu OVA:
        1. 移至 Tanzu Kubernetes Grid 下載頁面,使用您的 VMware Customer Connect 認證登入,然後按一下移至下載 (Go to Downloads)
        2. 下載 OVA。例如,Ubuntu 2004 Kubernetes v1.25.7 OVA
      2. 使用您選擇的解壓縮工具解壓縮下載的 OVA。
      3. 在解壓縮的目錄中,找到 .ofv 檔。
      4. .ofv 檔中,搜尋 OVA VERSION 內容並記錄其值。例如,v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e。此內容看起來類似如下:

        <Property ovf:key="VERSION" ovf:type="string" ovf:userConfigurable="false" ovf:value="v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"/>
        
    • 如果已為目標 Kubernetes 版本上傳到 vSphere 的預設 Ubuntu OVA,也可以透過在 vSphere UI 中檢查 OVA 虛擬機器內容或使用 govc CLI 來擷取作業系統映像版本。要使用此方法,請在將 OVA 虛擬機器轉換為範本之前擷取作業系統映像版本。

      • 如要從 vSphere UI 擷取作業系統映像版本,請執行以下操作:

        1. 如找到 OVA 虛擬機器,然後開啟 OVA 虛擬機器摘要頁面上的設定 (Configure) 索引標籤。
        2. 移至設定 (Settings)–> vApp 選項 (vApp Options)
        3. 內容 (Properties) 表格中,找到版本 (VERSION) 金鑰並記錄其預設值 (Default Value)。例如,v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
      • 如要使用 govc CLI 擷取作業系統映像版本,請執行 govc vm.info 命令。例如:

        govc vm.info -json /dc0/vm/ubuntu-2004-kube-v1.25.7+vmware.1-tkg.1 | jq
        

        在輸出中,搜尋 "Id": "VERSION" 並記錄"DefaultValue" 內容的值。例如:

        {
        "Key": 10,
        "ClassId": "",
        "InstanceId": "",
        "Id": "VERSION",
        "Category": "Cluster API Provider (CAPI)",
        "Label": "VERSION",
        "Type": "string",
        "TypeReference": "",
        "UserConfigurable": false,
        "DefaultValue": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e",
        "Value": "",
        "Description": ""
        }
        

建置 Linux 映像

要建置 Linux 映像,請執行以下操作:

  1. 對於 vSphere 上以計劃為基礎的叢集,請完成建置 Linux 映像步驟,但以下情況除外。在 metadata.json 中設定自訂映像的版本字串時,請將其設定為在上述擷取作業系統映像版本步驟中擷取的值,而不是按照建置 Linux 映像部分中的v1.25.7+vmware.1-myorg.0。例如:

    {
     "VERSION": "v1.25.7+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"
    }
    
  2. 完成建置 Linux 映像部分中的步驟後,返回到此頁面,然後繼續下面的將 Linux 映像上傳到 vSphere

將 Linux 映像上傳到 vSphere

完成建置 Linux 映像部分中的步驟後,執行以下操作:

  1. 如果您將目標 Kubernetes 版本的預設 Ubuntu OVA 上傳到 vSphere,請在上傳自訂 OVA 之前刪除預設 OVA。
  2. 將自訂 OVA 上傳到 vSphere。如需相關指示,,請參閱〈將管理叢集部署到 vSphere〉中的將基礎映像範本匯入到 vSphere

後續步驟

現在,您可以使用自訂映像部署管理叢集和工作負載叢集。如需相關指示,請參閱:

check-circle-line exclamation-circle-line close-line
Scroll to top icon