準備網際網路受限的環境

您可以在未連線到網際網路的環境中,部署 Tanzu Kubernetes Grid 管理叢集和工作負載叢集,例如:

  • Proxy 環境
  • 氣隙環境,未實體連線至網際網路

本主題說明如何將管理叢集部署到 vSphere 或 AWS 上的網際網路受限環境。如果您是在可以透過外部網際網路連線來提取映像的連線環境中使用 Tanzu Kubernetes Grid,則無需進行這些程序。

附註

本檔提供在氣隙環境中部署Tanzu Kubernetes Grid管理和工作負載叢集的一般步驟。要在氣隙環境中使用驗證的特定組態部署管理和工作負載叢集,請參閱 VMware Tanzu 參考架構說明文件。TKG v2.1 參考設計同時適用于 TKG v2.1 和 v2.2。

若要進行此程序,您可以在線上和離線環境中,使用單一機器或不同機器作為啟動機器。

(選用) 下載 Harbor OVA

若您要安裝 Harbor 登錄,請下載 Harbor OVA 檔案:

  1. 移至 VMware Customer Connect,然後使用 VMware Customer Connect 認證登入。
  2. 造訪 Tanzu Kubernetes Grid 下載頁面
  3. VMware Tanzu Kubernetes Grid 資料列中,按一下移至下載 (Go to Downloads)
  4. 選取版本 (Select Version) 下拉式功能表中,選取 2.2.0
  5. 產品下載 (Product Downloads) 下,捲動至標有 Harbor OVA 的區段,然後按一下立即下載 (Download Now)
  6. (選用) 驗證所下載的檔案與原始檔案相同。對於每一次的下載,VMware 都會提供 SHA-1、SHA-256 和 MD5 總和檢查。若想取得這些總和檢查,請按一下您要下載的項目下的閱讀更多 (Read More)。如需詳細資訊,請參閱使用密碼編譯雜湊

一般必要條件

將管理叢集和工作負載叢集部署在網際網路受限的環境之前,您必須具有:

  • 具有網際網路連線的 Linux 啟動機器,且此機器:
    • 不在網際網路受限的環境中,或者可以存取 Proxy 伺服器允許清單中列出的網域。
    • 至少具有 2 GB RAM、2 個 vCPU 和 45 GB 硬碟空間。
    • 已安裝 Tanzu CLI。請參閱安裝 Tanzu CLI 和其他工具,以在具有網際網路連線的系統上下載、解壓縮及安裝 Tanzu CLI 二進位檔。
  • 有方法可讓叢集虛擬機器存取私人登錄中的映像:
    • Proxy 環境:可讓叢集虛擬機器存取登錄的出口 Proxy 伺服器。
      • 當您將管理叢集部署在此 Proxy 環境時,請將叢集組態檔中的 TKG_*_PROXY 變數設定為 Proxy 伺服器的位址,並將 TKG_PROXY_CA_CERT 設定為 Proxy 伺服器的 CA (如果其憑證是自我簽署的話)。請參閱設定 Proxy
    • 氣隙環境:USB 隨身碟或其他媒體,用以在登錄中填入映像後,將私人登錄置於氣隙後面。
  • USB 隨身碟或其他可攜式離線儲存裝置。

vSphere 必要條件和架構

本檔提供在氣隙環境中的 vSphere 網路上部署 Tanzu Kubernetes Grid 管理和工作負載叢集的一般步驟。如要在氣隙環境中的 vSphere 網路上以驗證的特定組態部署叢集,請參閱《VMware Tanzu Kubernetes Grid 2.1 氣隙參考設計和部署》文件中的氣隙環境參考設計中 vSphere 網路上的 VMware Tanzu Kubernetes Grid在氣隙環境中的 vSphere 網路上部署 Tanzu Kubernetes Grid。TKG v2.1 參考設計同時適用于 TKG v2.1 和 v2.2。

vSphere 架構

在 vSphere 上,網際網路受限的 Tanzu Kubernetes Grid 安裝架構具有防火牆,且主要元件之間能夠通訊,如下所示。

附註

下圖說明在線上和離線環境中使用不同啟動機器的案例。

圖表:vSphere 上的氣隙 TKG

在 vSphere 上,除了上述一般必要條件外,您還必須:

  • 將藉以建立節點虛擬機器的 OVA 上傳至 vSphere。請參閱〈將管理叢集部署到 vSphere〉中的將基礎映像範本匯入到 vSphere

    建立虛擬機器後,如果您無法使用預設使用者名稱/密碼來登入,若為 Photon OS,則可依照重設遺失的 Root 密碼中所述,使用 Gnu GRUB 來重設密碼。

  • 以 Root 使用者身分登入 Jumpbox,然後啟用遠端 SSH,如下所示:

    1. 在編輯器中開啟 /etc/ssh/sshd_config 檔案 (nano /etc/ssh/sshd_config)。
    2. 在檔案的 [驗證 (Authentication)] 區段中新增一行,指出 PermitRootLogin yes。在本例中,該行已存在,請移除「#」。
    3. 儲存已更新的 /etc/ssh/sshd_config 檔案。
    4. 使用 service sshd restart,重新啟動 SSH 伺服器
  • 安裝及設定與 Docker 相容的私人容器登錄,例如 HarborDockerArtifactory,如下所示。此登錄是在 Tanzu Kubernetes Grid 外部執行,並且有別於任何部署為叢集共用服務的登錄:

    • 將登錄安裝在防火牆內。
    • 您可以使用由受信任的 CA 所簽署的 SSL 憑證或是自我簽署的憑證,來設定容器登錄。
    • 該登錄不得實作使用者驗證。例如,如果您使用 Harbor 登錄,則專案必須是公用,而不是私人專案。
    • 若要在 vSphere 上安裝 Harbor,請執行以下動作:
  • 設定離線子網路,以作為網際網路受限的環境,並將其與 Jumpbox 相關聯。

  • 設定 DHCP 伺服器,以將私人 IP 配置給新執行個體。

  • 在資料中心建立 vSphere Distributed Switch,以便從一個中央位置同時處理多台主機的網路組態。

AWS 必要條件和架構

本文件提供在氣隙環境中在 AWS 上部署 Tanzu Kubernetes Grid 管理和工作負載叢集的一般步驟。如要在氣隙環境中的 AWS 上以驗證的特定組態部署叢集,請參閱《VMware Tanzu Kubernetes Grid 2.1 氣隙參考設計和部署》文件中的 VMware Tanzu Kubernetes Grid on AWS 氣隙參考設計在氣隙環境中的 AWS 上部署 Tanzu Kubernetes Grid。TKG v2.1 參考設計同時適用于 TKG v2.1 和 v2.2。

AWS 架構

在 Amazon Web Services (AWS) 上,Tanzu Kubernetes Grid Proxy 安裝架構具有防火牆,且主要元件之間能夠通訊,如下所示。在控制平面網域與工作負載網域之間,以及在工作負載元件與控制平面元件之間,會自動建立安全群組 (SG)。

圖表:AWS 上的氣隙 TKG

對於 AWS 上的 Proxy 安裝架構,除了上述一般必要條件外,您還需要:

  • 未設定網際網路閘道 (「離線 VPC」) 的 AWS VPC,如下所述。
    • 具有網際網路連線的啟動機器必須能夠存取此離線 VPC 中的 IP 位址。如需詳細資訊,請參閱 VPC 對等
  • 已安裝及設定了與 Docker 相容的私人容器登錄,例如 HarborDockerArtifactory,如下所示。此登錄是在 Tanzu Kubernetes Grid 外部執行,並且有別於任何部署為叢集共用服務的登錄:
    • 將登錄安裝在防火牆內。
    • 您可以使用由受信任的 CA 所簽署的 SSL 憑證或是自我簽署的憑證,來設定容器登錄。
    • 該登錄不得實作使用者驗證。例如,如果您使用 Harbor 登錄,則專案必須是公用,而不是私人專案。
    • 若要安裝 Harbor,請執行以下動作:
      1. 下載 Harbor OVA
      2. 遵循 Harbor 說明文件中的 Harbor 安裝和設定指示。
  • 在離線 VPC 中執行的 Linux 啟動虛擬機器,其佈建方式類似於上述具有網際網路連線的機器。
    • 離線啟動虛擬機器必須能夠直接連線到 Tanzu Kubernetes Grid 所建立的叢集虛擬機器,而無需使用 Proxy。

建立離線 VPC 後,您必須在其中新增以下端點 (VPC 端點可在您的 VPC 與支援的 AWS 服務之間啟用私人連線):

  • 服務端點:
    • sts
    • ssm
    • ec2
    • ec2messages
    • elasticloadbalancing
    • secretsmanager
    • ssmmessages

若要將服務端點新增到 VPC,請執行以下動作:

  1. 在 AWS 主控台中,瀏覽至 VPC 儀表板 (VPC Dashboard) > 端點 (Endpoints)
  2. 針對上述每一項服務
    1. 按一下建立端點 (Create Endpoint)
    2. 搜尋服務,然後在服務名稱 (Service Name) 下選取該服務。
    3. 選取 VPC 及其子網路 (Subnets)
    4. 針對該端點啟用 DNS 名稱 (Enable DNS Name)
    5. 選取一個允許 VPC 中的虛擬機器存取該端點的安全群組 (Security group)
    6. 選取原則 (Policy) > 完整存取權 (Full Access)
    7. 按一下建立端點 (Create Endpoint)

準備網際網路受限的環境

若要準備網際網路受限的環境以部署 Tanzu Kubernetes Grid,您可以選擇下列其中一個選項:

  • 用於線上和離線環境的單一啟動機器。

  • 用於線上和離線環境的不同啟動機器。

根據您選取的選項,依照下表中所述的步驟執行:

單一啟動機器 不同的啟動機器
步驟 1:將隔離的叢集外掛程式安裝在線上機器上

步驟 2:將映像下載到線上機器

步驟 3:將適用於 Linux 的 Tanzu CLI 映像下載到線上機器

步驟 4:將檔案複製到離線機器

步驟 5:解壓縮離線機器上的檔案

步驟 6:將隔離的叢集外掛程式安裝在離線機器上


步驟 7:登入離線機器上的私人登錄

步驟 8:將映像上傳至私人登錄

步驟 1:將隔離的叢集外掛程式安裝在線上機器上

僅當您尚未透過在線上機器上執行 tanzu plugin sync 命令來安裝 isolated-cluster 外掛程式時,才需遵循此步驟。

  1. 登入具有網際網路連線的 Linux 啟動機器。
  2. 安裝 isolated-cluster 外掛程式:

    tanzu plugin sync
    

步驟 2:將映像下載到線上機器

重要

執行此步驟之前,請確定下載映像所在的磁碟分割具有 45 GB 可用空間。

在具有網際網路連線的 Linux 啟動機器上,下載映像服務包:

tanzu isolated-cluster download-bundle --source-repo <SOURCE-REGISTRY> --tkg-version <TKG-VERSION> --ca-certificate <SECURITY-CERTIFICATE>

其中:

  • SOURCE-REGISTRY 是映像儲存所在的登錄的 IP 位址或主機名稱。
  • TKG-VERSION 是您要部署在 Proxy 或氣隙環境中的 Tanzu Kubernetes Grid 版本。
  • SECURITY-CERTIFICATE 是映像儲存所在的登錄的安全性憑證。若要略過安全性憑證的驗證,請使用 --insecure,而不是 --ca-certificate。這兩個字串都是選用的。如果未指定任何值,系統會驗證預設伺服器安全性憑證。

    範例如下:

    tanzu isolated-cluster download-bundle --source-repo projects.registry.vmware.com/tkg --tkg-version v2.2.0
    
    

會將 TAR 檔案形式的映像服務包以及 publish-images-fromtar.yaml 檔案下載到線上機器。YAML 檔案會定義映像與 TAR 檔案之間的對應。

步驟 3:將適用於 Linux 的 Tanzu CLI 映像下載到線上機器

將適用於 Linux 的 Tanzu CLI 映像 (ZIP 檔案) 下載到線上機器:

  1. 在線上機器上,移至 VMware Customer Connect,並使用您的 VMware Customer Connect 認證登入。
  2. 造訪 Tanzu Kubernetes Grid 下載頁面
  3. VMware Tanzu Kubernetes Grid 資料列中,按一下移至下載 (Go to Downloads)
  4. 選取版本 (Select Version) 下拉式功能表中,選取 2.2.0
  5. 產品下載 (Product Downloads) 下,捲動到標有 VMware Tanzu CLI 2.2 CLI 的區段,然後找出適用於 Linux 的 VMware Tanzu CLI (VMware Tanzu CLI for Linux)

  6. 按一下立即下載 (Download Now)。會將 tanzu-cli-bundle-linux-amd64.tar.gz ZIP 檔案下載到本機機器。

  7. (選用) 驗證所下載的檔案與原始檔案相同。對於每一次的下載,VMware 都會提供 SHA-1、SHA-256 和 MD5 總和檢查。若想取得這些總和檢查,請按一下您要下載的項目下的閱讀更多 (Read More)。如需詳細資訊,請參閱使用密碼編譯雜湊

步驟 4:將檔案複製到離線機器

透過 USB 隨身碟或其他儲存媒介,將下列檔案複製到離線機器 (即 Proxy 環境或氣隙環境中的啟動機器):

  • 映像 TAR 檔案
  • YAML 檔案
  • tanzu-cli-bundle-linux-amd64.tar.gz ZIP 檔案

步驟 5:解壓縮離線機器上的檔案

在離線的啟動機器上,將 TAR 檔案解壓縮到 tanzu 目錄:

tar -xvf tanzu-cli-bundle-linux-amd64.tar.gz -C $HOME/tanzu
cd $HOME/tanzu/cli
sudo install core/v0.29.0/tanzu-core-linux_amd64 /usr/local/bin/tanzu
tar -xvf tanzu-framework-plugins-standalone-linux-amd64.tar.gz

步驟 6:將隔離的叢集外掛程式安裝在離線機器上

isolated-cluster 外掛程式安裝在離線啟動機器上:

tanzu plugin install isolated-cluster --local standalone-plugins/

步驟 7:登入離線機器上的私人登錄

透過 Docker,登入離線機器上的私人登錄:

docker login <URL>

其中,URL 是私人存放庫的 URL,其中,映像將儲存在 Proxy 環境或氣隙環境中。

步驟 8:將映像上傳至私人登錄

將映像服務包上傳至離線機器:

tanzu isolated-cluster upload-bundle --source-directory <SOURCE-DIRECTORY> --destination-repo <DESTINATION-REGISTRY> --ca-certificate <SECURITY-CERTIFICATE>

其中:

  • SOURCE-DIRECTORY 是映像 TAR 檔案儲存位置的路徑。
  • DESTINATION-REGISTRY 是私人登錄的路徑,其中,映像將託管於氣隙環境中。
  • SECURITY-CERTIFICATE 是私人登錄的安全性憑證,其中,映像將託管於 Proxy 環境或氣隙環境中。若要略過安全性憑證的驗證,請使用 --insecure,而不是 --ca-certificate。這兩個字串都是選用的。如果未指定任何值,系統會驗證預設伺服器安全性憑證。

範例如下:

tanzu isolated-cluster upload-bundle --source-directory ./ --destination-repo hostname1 --ca-certificate /tmp/registryca.crt

後續步驟

使用下列組態檔參考變數,來設定用來放置您所移動的映像的登錄:

  • TKG_CUSTOM_IMAGE_REPOSITORY
  • TKG_CUSTOM_IMAGE_REPOSITORY_CA_CERTIFICATETKG_CUSTOM_IMAGE_REPOSITORY_SKIP_TLS_VERIFY

如需有關這些組態變數的詳細資訊,請參閱私人映像登錄組態

附註:您也可以使用 tanzu config set env.CONFIG-VARIABLE 命令,在將來使用 Tanzu CLI 時設定登錄並保留環境變數。如需詳細資訊,請參閱 VMware Tanzu CLI 參考中的 tanzu config set

網際網路受限的環境現在可供您部署或升級 Tanzu Kubernetes Grid 管理叢集,並可開始在 vSphere 或 AWS 上部署工作負載叢集。

要在氣隙環境中使用驗證的特定組態部署管理和工作負載叢集,請參閱 VMware Tanzu 參考架構說明文件。TKG v2.1 參考設計同時適用於 TKG v2.1 和 v2.2。

要使用組態檔部署管理叢集,請參閱從組態檔部署管理叢集

如果您在升級過程中進行了此程序,請參閱升級 Tanzu Kubernetes Grid

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