Linux 自訂機器映像

此程序將指導您建置 Linux 自訂機器映像,以便在 AWS、Azure 或 vSphere 上建立叢集時使用。它分為以下各節。有關 Tanzu Kubernetes Grid 中的叢集類型的詳細資訊,請參閱工作負載叢集

如程序中所述,根據您是為基於類的叢集還是基於計劃的 (舊版) 叢集建置映像,某些步驟會有所不同。

Linux 映像的必要條件

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

  • 目標基礎結構、AWS、Azure 或 vSphere 上的帳戶。
  • 安裝了以下項目的 macOS 或 Linux 工作站:
    • Docker 桌面
    • 若為 AWS:aws 命令列介面 (CLI)
    • 若為 Azure:az CLI
    • 若為 vSphere:若要建置 RHEL 8 映像,您需要 Linux 工作站,而不是 macOS。

(基於類別,vSphere) 擷取作業系統映像版本

在 vSphere 上建置映像以用於基於類別的叢集時,您必須擷取與要用於自訂映像的 Kubernetes 版本之預設 Ubuntu OVA 關聯的作業系統映像版本。您需要將此作業系統映像版本指派給以下建置 Linux 映像步驟中的自訂映像。

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

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

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

    2. 從可用 TKr 清單中,選擇要用於自訂映像的 Kubernetes 版本的 Tanzu Kubernetes 版本 (TKr)。例如,v1.27.5---vmware.2-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.27.5+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.27.5 OVA
      2. 使用您選擇的解壓縮工具解壓縮下載的 OVA。
      3. 在解壓縮的目錄中,找到 .ofv 檔。
      4. .ofv 檔中,搜尋 OVA VERSION 內容並記錄其值。例如,v1.27.5+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e。此內容看起來類似如下:

        <Property ovf:key="VERSION" ovf:type="string" ovf:userConfigurable="false" ovf:value="v1.27.5+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.27.5+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e
      • 如要使用 govc CLI 擷取作業系統映像版本,請執行 govc vm.info 命令。例如:

        govc vm.info -json /dc0/vm/ubuntu-2004-kube-v1.27.5+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.27.5+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e",
        "Value": "",
        "Description": ""
        }
        

建置 Linux 映像

  1. 為您的基礎架構設定身份驗證:

    • vSphere:建立一個認證 JSON 檔案,並填入其值:

      {
      "cluster": "",
      "convert_to_template": "false",
      "create_snapshot": "true",
      "datacenter": "",
      "datastore": "",
      "folder": "",
      "insecure_connection": "false",
      "linked_clone": "true",
      "network": "",
      "password": "",
      "resource_pool": "",
      "template": "",
      "username": "",
      "vcenter_server": ""
      }
      
    • AWS:登入 aws CLI。當出現提示時,請驗證身份並指定您的地區:

      aws configure
      
    • Azure:登入 az CLI。然後建立一個組態 JSON 檔 azure-sig.json 並填寫 Azure 特定資訊。可以在此處找到此類檔案的範例。

  2. projects.registry.vmware.com 下載 Linux 資源服務包容器:

    1. 確保您的工作站可以存取 VMware 映像登錄 projects.registry.vmware.com

    2. 使用 Image Builder 建立 Linux OVA 所需的 Kubernetes Linux 二進位檔案下載並執行容器:

      docker pull projects.registry.vmware.com/tkg/linux-resource-bundle:v1.27.5_vmware.1-tkg.1
      
      docker run -d -p 3000:3000 projects.registry.vmware.com/tkg/linux-resource-bundle:v1.27.5_vmware.1-tkg.1
      
  3. 下載 Image Builder 組態目錄:

    1. 確定 Image Builder 組態版本,以從中建置。

      • 在 VMware {code} Sample Exchange 中搜尋 TKG Image Builder,以列出可用的版本。
      • 每個 Image Builder 版本各會對應至其相容的 Kubernetes 和 Tanzu Kubernetes Grid 版本。例如,TKG-Image-Builder-for-Kubernetes-v1.27.5-on-TKG-v2.4.0-master.zip 為 Tanzu Kubernetes Grid v2.4.0 建立 Kubernetes v1.27.5 映像。
      • 如果您需要建立管理叢集 (在您第一次安裝 Tanzu Kubernetes Grid 時必須執行此動作),請選取 Tanzu Kubernetes Grid 版本的預設 Kubernetes 版本。例如,在 Tanzu Kubernetes Grid v2.4.0 中,預設 Kubernetes 版本為 v1.27.5。對於工作負載叢集,除了 v1.27.5 之外,還可以建置 Kubernetes v1.26.8 或 v1.25.13。

      下列步驟說明如何為 Tanzu Kubernetes Grid v2.4.0 建置 Kubernetes v1.27.5 映射。

    2. 下載組態程式碼 zip 檔案,然後解壓縮其內容。

    3. 執行 cd 移至 TKG-Image-Builder- 目錄,以將 tkg.json 檔案放在目前目錄中。

  4. vSphere 對於 vSphere,請在 Image Builder 目錄中建立一個 metadata.json 檔案,該檔案會將版本字串設定為與後面的步驟中自訂 TKr 中列出的內容相符:

    • 以類別為基礎:使用您在上述步驟擷取作業系統映像版本擷取的值,例如:

      {
      "VERSION": "v1.27.5+vmware.1-tkg.1-765d418b72c247c2310384e640ee075e"
      }
      
    • 以計劃為基礎:Image-builder 會為 OVA 提供建立的與 VMware 發佈的 OVA 相同的版本字串,例如 v1.27.5+vmware.1-tkg.1。對於自訂映像,VMware 建議將 -tkg.1 取代為對您的組織有意義的字串,例如:

      {
      "VERSION": "v1.27.5+vmware.1-myorg.0"
      }
      
  5. 編輯 tkg.json 檔案以填寫 <IP><PORT>containerd_urlkubernetes_http_source 設定和自訂,其中:

    • IP 對應於執行 Docker 容器的機器的 IP。
    • PORT 會讓 Docker 主機上未使用的連接埠與容器上的連接埠 3000 產生關聯,例如 3001:3000。容器透過連接埠 3000 公開構件。
  6. 如要包含以下選項,請繼續編輯 tkg.json 檔案:

    • Photon:如果建置 Photon-3 OVA,請編輯 tkg.json 中的 "extra_rpms",以反映受支援的其他自訂套件:

      "extra_rpms": "sysstat nfs-utils ethtool apparmor-parser"
      
    • STIG 和 CIS 強化:如要在預設等級上強化自訂 Ubuntu 映像,請執行以下操作:

      1. 新增一行,將 ansible_user_vars 的以下部分或全部變數設定為 true。以下變數預設為 false

      2. STIG:

        • install_aide - 啟動 AIDE (進階入侵檢測環境)
        • install_sshd_login_banner - 安裝 DoD 登入橫幅
        • remove_existing_ca_certs - 保留 DoD PKI 基礎架構
        • install_audispd_plugins - 安裝事件多工器 (audispd) 外掛程式
      3. CIS:

        • install_aide - 啟動 AIDE (進階入侵檢測環境)
        • install_clamav - 啟動 ClamAV AntiVirus
        • install_systemd_timesyncd - 使用 timesyncd 而不是 chrony
        • install_protect_kernel_defaults - 設定上游核心保護預設值
      4. 透過為 STIG 新增 custom_role_names 或為 CIS 新增 /home/imagebuilder/stig_ubuntu_2004 來修改 /home/imagebuilder/cis_ubuntu_2004 設定。

      例如,對於其他 CIS 強化:

        "ansible_user_vars": "install_aide=true install_clamav=true install_systemd_timesyncd=true install_protect_kernel_defaults=true",
        "custom_role_names": "/home/imagebuilder/tkg /home/imagebuilder/cis_ubuntu_2004",
      
      附註

      不支援透過 ansible_user_vars 進行其他強化的自訂 Photon 映像。

    • FIPS:若要建置啟用 FIPS 的映像,請移除以設定 (如有):

      "ansible_user_vars": "install_fips=no"
      
    • 網際網路受限:對於透過 HTTP Proxy 伺服器來存取網際網路的網際網路受限的環境,若要建置其映像,請新增以下內容:

      "http_proxy": "http://proxy.acme.com:80",
      "https_proxy": "http://proxy.acme.com:80",
      "no_proxy": "localhost, 127.0.0.1, acme.com, 10.0.0.0/8"
      
    • 啟用了 GPU 的叢集:如要為啟用了 GPU 的叢集建置映像,請新增以下內容:

      "vmx_version": "17"
      

    您可以向 tkg.json 新增其他自訂或將它們放在單獨的 customizations.json 檔案中。

  7. 收集下列參數字串,以便在下個步驟中插入至 docker 命令。其中有很多參數會指定 docker run -v 參數,以便將您目前的工作目錄複製到用來建置映像的容器的 /home/imagebuilder 目錄中:

    • AUTHENTICATION:複製本機 CLI 目錄。適用情況:
      • vSphere:/PATH/TO/CREDENTIALS.json:/home/imagebuilder/vsphere.json
      • AWS:~/.aws:/home/imagebuilder/.aws
      • Azure:~/.azure:/home/imagebuilder/.azure
    • SOURCES:複製存放庫 tkg.json 檔案,其中列出已版本化作業系統、Kubernetes、容器網路介面 (CNI) 映像的下載來源:
      • 使用 /PATH/TO/tkg.json:/home/imagebuilder/tkg.json
    • ROLES:複製存放庫的 tkg 目錄,其中含有 Image Builder 所需的 Ansible 角色。
      • 使用 /PATH/TO/tkg:/home/imagebuilder/tkg
    • TESTS:複製專為映像的目標基礎結構、作業系統和 Kubernetes 版本所設計的 goss 測試目錄:
      • 使用存放庫的 goss 目錄中檔的檔名。
      • 範例:amazon-ubuntu-1.27.5+vmware.1-goss-spec.yaml
    • CUSTOMIZATIONS:複製 JSON 格式的自訂檔。
      • 請參閱 Image Builder 說明文件中的自訂
      • 在進行任何修改之前,請諮詢「VMware 客戶可靠性工程 (CRE)」,以瞭解最佳做法和建議。
    • PACKER_VAR_FILES:上述 JSON 檔案的空格分隔清單,其中包含適用於 Packer 的變數。
    • (Azure) AZURE-CREDS:Azure 認證檔的路徑,如 Image Builder 說明文件中所述。
    • COMMAND:視自訂映像作業系統而定,使用下列命令之一。若為 vSphere 和 Azure 映像,則命令的開頭是 build-node-ova-build-azure-sig-
      • build-ami-ubuntu-2004:Ubuntu v20.04
      • build-ami-ubuntu-1804:Ubuntu v18.04
      • build-ami-amazon-2:Amazon Linux 2
      • build-node-ova-vsphere-ubuntu-2004:啟用了 GPU 的叢集
  8. 使用上述字串,在從 VMware 登錄 projects.registry.vmware.com 的 Docker 容器中,執行 Image Builder

    如果您不是為 vSphere 和metadata.json 建置映像,且如果您不是為 Azure 建置映像,請忽略 env-file

    export ROLES="... the value for roles you created above"
    export SOURCES="... ..." 
    docker run -it --rm \
        -v $AUTHENTICATION \
        -v $SOURCES \
        -v $ROLES \
        -v /PATH/TO/goss/TESTS.yaml:/home/imagebuilder/goss/goss.yaml \
        -v /PATH/TO/metadata.json:/home/imagebuilder/metadata.json \
        -v /PATH/TO/CUSTOMIZATIONS.json:/home/imagebuilder/CUSTOMIZATIONS.json \
        --env PACKER_VAR_FILES="tkg.json CUSTOMIZATIONS.json" \
        --env-file AZURE-CREDS \
        --env IB_OVFTOOL=1 \
        projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
        COMMAND
    
    附註

    此命令可能需要幾分鐘來完成。

    範例

    vSphere.ova 檔將儲存至工作站的本機檔案系統中。無論您希望將這些 OVA 儲存在哪個資料夾,都應掛接到容器內的 /home/imagebuilder/output 中。然後,使用容器映像來建立 OVA:

    docker run -it --rm \
      -v /PATH/TO/CREDENTIALS.json:/home/imagebuilder/vsphere.json \
      -v $(pwd)/tkg.json:/home/imagebuilder/tkg.json \
      -v $(pwd)/tkg:/home/imagebuilder/tkg \
      -v $(pwd)/goss/vsphere-ubuntu-1.27.5+vmware.1-goss-spec.yaml:/home/imagebuilder/goss/goss.yaml \
      -v $(pwd)/metadata.json:/home/imagebuilder/metadata.json \
      -v /PATH/TO/OVA/DIR:/home/imagebuilder/output \
      --env PACKER_VAR_FILES="tkg.json vsphere.json" \
      --env OVF_CUSTOM_PROPERTIES=/home/imagebuilder/metadata.json \
      --env IB_OVFTOOL=1 \
      projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
      build-node-ova-vsphere-ubuntu-2004
    

    啟用了 GPU 的叢集:在執行命令建立 OVA 時,我們需要包括在上述步驟中建立的 customizations.json 檔案:

    docker run -it --rm \
      -v /PATH/TO/CREDENTIALS.json:/home/imagebuilder/vsphere.json \
      -v $(pwd)/tkg.json:/home/imagebuilder/tkg.json \
      -v $(pwd)/tkg:/home/imagebuilder/tkg \
      -v $(pwd)/goss/vsphere-ubuntu-1.27.5+vmware.1-goss-spec.yaml:/home/imagebuilder/goss/goss.yaml \
      -v $(pwd)/metadata.json:/home/imagebuilder/metadata.json \
      -v $(pwd)/customizations.json:/home/imagebuilder/customizations.json \
      -v /PATH/TO/OVA/DIR:/home/imagebuilder/output \
      --env PACKER_VAR_FILES="tkg.json vsphere.json customizations.json" \
      --env OVF_CUSTOM_PROPERTIES=/home/imagebuilder/metadata.json \
      --env IB_OVFTOOL=1 \
      projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
      build-node-ova-vsphere-ubuntu-2004
    

    RHEL:若要建置 RHEL OVA,您需要使用 Linux 機器,而不是 macOS,因為 macOS 上的 Docker 不支援 --network host 選項。
    您還必須將作業系統登錄為獲得 Red Hat 授權,並將以下內容新增到上面的 docker run 命令,來註冊更新:

      -v $(pwd)/isos/rhel-8.4-x86_64-dvd.iso:/rhel-8.4-x86_64-dvd.iso \
      --network host \
      --env RHSM_USER=USER --env RHSM_PASS=PASS
    

    其中:

    • RHSM_USERRHSM_PASS 是您 Red Hat Subscription Manager 帳戶的使用者名稱和密碼。
    • 您可以在上述範例中,對應本機 RHEL ISO 路徑 $(pwd)/isos/rhel-8.4-x86-64-dvd.iso,以作為額外磁碟區。

    AWS:若要使用 Ubuntu v20.04 和 Kubernetes v1.27.5 來建立自訂映像,以便在 AWS 上執行,請從含有 tkg.json 的目錄執行:

    docker run -it --rm \
        -v ~/.aws:/home/imagebuilder/.aws \
        -v $(pwd)/tkg.json:/home/imagebuilder/tkg.json \
        -v $(pwd)/tkg:/home/imagebuilder/tkg \
        -v $(pwd)/goss/amazon-ubuntu-1.27.5+vmware.1-goss-spec.yaml:/home/imagebuilder/goss/goss.yaml \
        -v /PATH/TO/CUSTOMIZATIONS.json /home/imagebuilder/aws.json \
        --env PACKER_VAR_FILES="tkg.json aws.json" \
        --env IB_OVFTOOL=1 \
        projects.registry.vmware.com/tkg/image-builder:v0.1.13_vmware.2 \
        build-ami-ubuntu-2004
    
  9. 將映像上傳至雲端提供者。

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

為 Linux 映像建立 TKr

若要將 Linux 映像設定為未來 Kubernetes 版本的預設映像,請根據該映像來建立 TKr。否則,請跳至將 Linux 映像用於工作負載叢集

下圖簡要概述了如何在 vSphere 上為自訂 Linux 映像建立 TKr。

建立 TKr

如要建立 TKr,請執行以下操作:

  1. ~/.config/tanzu/tkg/bom/ 目錄中,開啟對應至自訂映像 Kubernetes 版本的 TKr BoM。Kubernetes v1.27.5 的檔案名稱範例 tkr-bom-v1.27.5+vmware.1-tkg.1.yaml

    如果目錄中缺少您需要的 TKr BOM 檔案,則可以部署具有您所要 Kubernetes 版本的叢集來將其帶入,如使用非預設 Kubernetes 版本來部署叢集中所述。

    1. 在 BOM 檔案中,找出基礎結構的映像定義區塊:ova 表示 vSphere、ami 表示 AWS,azure 表示 Azure。每個映像定義區塊都包含 osinfo.nameosinfo.versionosinfo.arch,其中:

      • osinfo.name 是作業系統名稱。例如,ubuntu。若要檢視支援的作業系統清單,請參閱目標作業系統
      • osinfo.version 是作業系統版本。例如,20.04。若要檢視支援的版本清單,請參閱目標作業系統
      • osinfo.arch 是作業系統架構。支援的值為 amd64
    2. 若要新增作業系統映像的參考,請在 ovaamiazure 下新增映像定義區塊 (視您的目標基礎結構而定)。如上所述,映像定義區塊必須包含 osinfo.nameosinfo.versionosinfo.arch。此外,在以下項目上新增映像定義區塊時:

      • vSphere:

        • name: 包含作業系統版本的唯一 OVA 名稱,例如 my-ova-ubuntu-2004
        • version: 在建立 OVA 時使用 metadata.json 中指派的唯一 VERSION,例如 v1.27.5+vmware.1-myorg.0
        附註

        version 必須與 metadata.json 中的相同 VERSION 完全相符。

      • AWS:對於計劃在其中使用自訂映像的每個區域,請遵循現有的 id 值格式,但在末尾使用唯一的十六進位字串,例如 ami-693a5e2348b25e428

      如果 BOM 檔案將映像定義在地區之下,則自訂映像定義區塊必須先列在其地區中。在每個地區內,叢集建立程序會挑選清單中第一個合適的映像。

    3. release.version 值中,藉由新增尾碼來設定自訂版本。請勿藉由新增前置詞來自訂版本。例如,將 v1.27.5+vmware.1-tkg.1 變更為 v1.27.5+vmware.1-tkg.1-mycustomtkr

    4. 使用您在上一個步驟中指定給 release.version 的相同自訂尾碼,來儲存 BOM 檔案。

      如果檔案名稱包含加號 (+) 字元,請將 + 取代為三條虛線 (---)。

      例如,將 BOM 檔案另存為 tkr-bom-v1.27.5---vmware.2-tkg.1-mycustomtkr.yaml

  2. base64 - 將檔案內容編碼為二進位字串,例如:

    cat tkr-bom-v1.27.5---vmware.2-tkg.1-mycustomtkr.yaml | base64 -w 0
    
  3. 建立 ConfigMap YAML 檔案 (例如,名為 configmap-v1.27.5---vmware.2-tkg.1-mycustomtkr.yaml),且其中的值如下:

    apiVersion: v1
    kind: ConfigMap
    metadata:
     name: CUSTOM-TKG-BOM
     labels:
       tanzuKubernetesRelease: CUSTOM-TKR
    binaryData:
     bomContent: "BOM-BINARY-CONTENT"
    

    其中:

    • CUSTOM-TKG-BOMConfigMap 的名稱,它必須包含您指定於 BOM 檔案中的 TKr release.version 值,並將任何 + 符號取代為三條虛線 (—)。例如,設定 v1.27.5---vmware.2-tkg.1-mycustomtkr
    • CUSTOM-TKR 是 TKr 的名稱,它必須與您指定給 CUSTOM-TKG-BOM 的值相符。例如,v1.27.5---vmware.2-tkg.1-mycustomtkr
    • BOM-BINARY-CONTENT 是您在上一個步驟中產生的自訂 BOM 檔案的 base64 編碼內容。

    例如:

    apiVersion: v1
    kind: ConfigMap
    metadata:
     name: v1.27.5---vmware.2-tkg.1-mycustomtkr
     labels:
       tanzuKubernetesRelease: v1.27.5---vmware.2-tkg.1-mycustomtkr
    binaryData:
     bomContent: "YXBpVmVyc2lvbjogcnVuLnRhbnp1...."
    
  4. 儲存 ConfigMap 檔案,將 kubectl 內容設定為您想在其中新增 TKr 的管理叢集,並將該檔案套用至於叢集,例如:

    kubectl -n tkr-system apply -f configmap-v1.27.5---vmware.2-tkg.1-mycustomtkr.yaml
    

    TKr 控制器透過建立 TanzuKubernetesRelease 來協調新的 ConfigMap 物件。預設協調週期為 600 秒。您可以刪除 TKr 控制器 Pod 來避免這樣的延遲,這會立即還原及協調網繭:

    1. 列出 tkr-system 命名空間中的 Pod:

      kubectl get pod -n tkr-system
      
    2. 擷取 TKr 控制器 Pod 的名稱,類似於 tkr-controller-manager-f7bbb4bd4-d5lfd

    3. 刪除網繭:

      kubectl delete pod -n tkr-system TKG-CONTROLLER
      

      其中,TKG-CONTROLLER 是 TKr 控制器 Pod 的名稱。

  5. 若要檢查是否新增了自訂 TKr,請執行 tanzu kubernetes-release getkubectl get tkr,然後在輸出中尋找您在上面所設定的 CUSTOM-TKR 值。

一旦 kubectltanzu CLI 列出您的自訂 TKr 後,您可以用它來建立管理叢集或工作負載叢集,如下所述。

將 Linux 映像用於管理叢集

若要建立管理叢集,且其使用您的自訂映像作為其節點的基礎作業系統,請執行以下動作:

  1. 在您執行安裝程式介面時,請在作業系統映像 (OS Image) 窗格中選取自訂映像,如選取基礎作業系統映像中所述。

如需詳細資訊,請參閱如何產生基礎作業系統映像選項

將 Linux 映像用於工作負載叢集

從 Linux 映像建立工作負載叢集的程序有所不同,具體取決於您是否在上述為 Linux 映像建立 TKr 中建立 TKr。

  • 如果您建立了 TKr,請將 tanzu kubernetes-release get 列出的 TKr 名稱傳遞至 tanzu cluster create--tkr 選項。

  • 如果未建立 TKr,請執行下列步驟:

    1. 複製管理叢集組態檔,並遵循組態檔和物件規格中的程序,使用新名稱來儲存該檔案。

    2. 在新的組態檔中,新增或修改以下內容:

      VSPHERE_TEMPLATE: LINUX-IMAGE
      

      其中,LINUX-IMAGE 是您在建置 Linux 映像中所建立的 Linux 映像的名稱。

      移除 CLUSTER_NAME 及其設定 (若有的話)。

    3. 依照建立工作負載叢集中所述,來部署工作負載叢集。

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