This site will be decommissioned on December 31st 2024. After that date content will be available at techdocs.broadcom.com.

安裝和管理套件

此主題說明如何使用 Tanzu CLI 來安裝及管理套件和套件存放庫。

附註

tanzu package CLI 外掛程式僅適用於 CLI 管理的套件。請勿使用本主題中提供的命令來安裝和管理自動管理的套件。其生命週期由 Tanzu Kubernetes Grid 自動管理。如需自動管理的套件的詳細資訊,請參閱自動管理的套件

準備安裝 CLI 管理的套件

standard 套件存放庫安裝 CLI 管理的套件之前,請執行下列動作:

  1. 安裝 Tanzu CLI
  2. 新增 tanzu-standard 套件存放庫。如果要將以計劃為基礎的叢集 (舊版) 為目標,請跳過此步驟。對於以計劃為基礎的叢集,會在 tanzu-package-repo-global 命名空間中的每個叢集中,自動啟用 tanzu-standard 套件存放庫。
  3. 檢閱 Tanzu 標準存放庫內容
  4. 安裝 cert-manager 以用於工作負載叢集中的憑證管理

安裝概觀

如需如何使用 Tanzu CLI 安裝和管理套件的指示,請參閱以下幾節。

  • 套件存放庫:如果您要執行下列操作,請參閱本節:

    • 列出可用於或新增至目標叢集的所有套件存放庫
    • 針對可用或新增的套件存放庫取得其詳細資料
    • 新增、更新或刪除套件存放庫
  • 套件:如果您要執行下列操作,請參閱本節:

    • 列出目標叢集中可用或已安裝的所有套件
    • 針對可用或已安裝的套件取得其詳細資料
    • 安裝、更新或刪除套件

如需有關 tanzu package 命令的詳細資訊,請參閱 Tanzu 套件

套件命名空間和系統命名空間

您可以將套件存放庫和套件安裝到您選擇的命名空間。如果未設定 --namespace 選項,Tanzu CLI 會以 default 命名空間為目標。

封裝服務的元件在不同於部署套件本身的系統命名空間中執行。例如,Contour 和 Envoy 元件在命名空間 tanzu-system-ingress 中執行,Harbor 元件在 tanzu-system-registry 中執行。

請勿將套件安裝到任何 tanzu-system- 命名空間。

套件存放庫

以下各節說明如何列出、新增、更新和刪除套件存放庫。

列出套件存放庫

tanzu package repository list 命令列出目標叢集中可用的所有套件存放庫。此清單包括經由執行 tanzu package repository add 命令而新增至目標叢集的套件存放庫。若要將套件存放庫新增至叢集,請參閱下面的新增套件存放庫

  • 若要列出目標叢集中所有命名空間的套件存放庫,請執行:

    tanzu package repository list -A
    
  • 若要列出特定命名空間中的套件存放庫,請執行:

    tanzu package repository list -n NAMESPACE
    

    其中,NAMESPACE 是目標命名空間。如果您要列出 default 以外命名空間中的套件存放庫,則需要使用 --namespace-n 選項。

    若要列出 default 命名空間中的套件存放庫,也可以執行:

    tanzu package repository list
    

取得套件存放庫的詳細資料

tanzu package repository get 命令擷取套件存放庫的詳細資料。

若要擷取套件存放庫的詳細資料,請執行:

tanzu package repository get REPOSITORY-NAME -n REPOSITORY-NAMESPACE

其中:

  • REPOSITORY-NAME 是目標叢集中的套件存放庫名稱。
  • REPOSITORY-NAMESPACE 是目標叢集中的套件存放庫命名空間。

新增套件存放庫

tanzu package repository add 命令新增套件存放庫。

若要將套件存放庫新增至目標叢集,請執行:

tanzu package repository add REPOSITORY-NAME --url REPOSITORY-URL -n REPOSITORY-NAMESPACE

其中:

  • REPOSITORY-NAME 是您選擇的套件存放庫名稱。
  • REPOSITORY-URL 是套件存放庫的 OCI 登錄 URL。
    • 若要從 Tanzu CLI 取得此值,請參閱列出套件存放庫,或在 Tanzu Mission Control 中查看叢集 (Cluster) 窗格中的附加元件 (Addons) > 存放庫 (Repositories) 清單。
    • 如果在 URL 末尾省略套件存放庫標籤,系統會使用最新版 Tanzu Kubernetes Grid 的標籤。
    • 此 URL 不能位於 projects.registry.vmware.com/tce 之下。
  • REPOSITORY-NAMESPACE 是套件存放庫的目標命名空間。如果未指定此選項,Tanzu CLI 會將套件存放庫新增至 default 命名空間。

例如,若要新增 standard 套件存放庫,且其中含有 Tanzu Kubernetes Grid 中由 CLI 管理的套件,請執行以下命令。standard 套件存放庫的目標 --namespacetkg-system

附註

如果要將以計劃為基礎的叢集 (舊版) 為目標,請跳過此步驟。對於以計劃為基礎的叢集,會在 tanzu-package-repo-global 命名空間中的每個叢集中,自動啟用 tanzu-standard 套件存放庫。

tanzu package repository add tanzu-standard --url projects.registry.vmware.com/tkg/packages/standard/repo:v2.1.1 --namespace tkg-system

更新套件存放庫

tanzu package repository update 命令將套件存放庫更新為 URL 上發佈的新版本。

若要更新目標叢集中的套件存放庫,請執行:

tanzu package repository update REPOSITORY-NAME --url REPOSITORY-URL -n REPOSITORY-NAMESPACE

其中:

  • REPOSITORY-NAME 是叢集中的套件存放庫名稱。
  • REPOSITORY-URL 是套件存放庫的新 URL。如果未在 URL 中指定套件存放庫標籤,系統會使用最新版 Tanzu Kubernetes Grid 的套件存放庫標籤。
  • REPOSITORY-NAMESPACE 是叢集中的套件存放庫命名空間。

刪除套件存放庫

tanzu package repository delete 命令移除套件存放庫。若要從目標叢集中刪除套件存放庫,請執行:

tanzu package repository delete REPOSITORY-NAME -n REPOSITORY-NAMESPACE

其中:

  • REPOSITORY-NAME 是套件存放庫的名稱。
  • REPOSITORY-NAMESPACE 是套件存放庫的命名空間。

套件

以下各節說明如何列出、安裝、更新和刪除套件。

列出可用套件

tanzu package available list 命令列出所有可用的套件和套件版本。

列出可用套件:

  • 若要列出目標叢集中所有命名空間的可用套件,請執行:

    tanzu package available list -A
    
  • 若要列出特定命名空間中的可用套件,請執行:

    tanzu package available list -n NAMESPACE
    

    其中,NAMESPACE 是要從中擷取可用套件清單的命名空間。若要列出 default 命名空間中的可用套件,也可以執行:

    tanzu package available list
    

列出可用套件版本:

  • 若要列出目標叢集中所有命名空間上某個套件的可用套件版本,請執行:

    tanzu package available list AVAILABLE-PACKAGE-NAME -A
    

    其中,AVAILABLE-PACKAGE-NAME 是您執行 tanzu package available list 命令擷取到的套件名稱。

  • 若要列出特定命名空間中某個套件的可用套件版本,請執行:

    tanzu package available list AVAILABLE-PACKAGE-NAME -n AVAILABLE-PACKAGE-NAMESPACE
    

    其中:

    • AVAILABLE-PACKAGE-NAME 是您執行 tanzu package available list 命令擷取到的套件名稱。
    • AVAILABLE-PACKAGE-NAMESPACE 是可用套件的命名空間。

    若要列出 default 命名空間中某個套件的可用套件版本,也可以執行:

    tanzu package available list AVAILABLE-PACKAGE-NAME
    

取得可用套件的詳細資料

tanzu package available get 命令擷取可用套件的詳細資料。

若要擷取可用套件的詳細資料,請執行:

tanzu package available get AVAILABLE-PACKAGE-NAME -n AVAILABLE-PACKAGE-NAMESPACE

或:

tanzu package available get AVAILABLE-PACKAGE-NAME/AVAILABLE-PACKAGE-VERSION -n AVAILABLE-PACKAGE-NAMESPACE

其中:

  • AVAILABLE-PACKAGE-NAME 是可用套件的名稱。您可以執行 tanzu package available list 命令來擷取此名稱。
  • AVAILABLE-PACKAGE-VERSION 是可用套件的版本。您可以執行 tanzu package available list AVAILABLE-PACKAGE-NAME 命令來擷取可用套件版本的清單。
  • AVAILABLE-PACKAGE-NAMESPACE 是可用套件的命名空間。

若要擷取可用套件的預設組態,請使用 tanzu package available get 命令的 --default-values-file-output 旗標:

tanzu package available get AVAILABLE-PACKAGE-NAME/AVAILABLE-PACKAGE-VERSION -n AVAILABLE-PACKAGE-NAMESPACE --default-values-file-output FILE-PATH

若要擷取可用套件的值結構描述 (包括每個機碼的預設值),請使用 tanzu package available get 命令的 --values-schema 旗標。這將從 valuesSchema Kubernetes API 資源中擷取可用套件的 Package 區段。您可以將值結構描述的輸出格式 -o 設定為 yamljsontable

tanzu package available get AVAILABLE-PACKAGE-NAME/AVAILABLE-PACKAGE-VERSION -n AVAILABLE-PACKAGE-NAMESPACE --values-schema

列出已安裝的套件

tanzu package installed list 命令列出目前安裝在目標叢集中的所有套件。

若要列出叢集中所有命名空間已安裝的套件,請執行:

tanzu package installed list -A

若要列出特定命名空間中已安裝的套件,請執行:

tanzu package installed list -n NAMESPACE

其中,NAMESPACE 是要從中擷取已安裝套件清單的命名空間。

取得已安裝套件的詳細資料

tanzu package installed get 命令擷取已安裝套件的詳細資料。

若要擷取已安裝套件的詳細資料,請執行:

tanzu package installed get INSTALLED-PACKAGE-NAME -n INSTALLED-PACKAGE-NAMESPACE

其中:

  • INSTALLED-PACKAGE-NAME 是已安裝套件的名稱。
  • INSTALLED-PACKAGE-NAMESPACE 是安裝套件的命名空間。

如果您要將已安裝套件的目前組態儲存到檔案,請執行:

tanzu package installed get INSTALLED-PACKAGE-NAME -n INSTALLED-PACKAGE-NAMESPACE --values-file-output FILE-PATH

其中,FILE-PATH 是檔案的路徑。例如,values.yaml

安裝套件

tanzu package install 命令安裝 CLI 管理的套件。

若要在目標叢集中安裝 CLI 管理的套件,請執行下列動作:

  1. 新增包含該套件的套件存放庫 (如果尚未新增)。請參閱上面的新增套件存放庫

  2. 記下要安裝的套件名稱和版本。若要查看套件名稱和版本,請執行 tanzu package available list 命令。請參閱上面的列出可用套件

  3. 安裝套件:

    tanzu package install PACKAGE-NAME -p AVAILABLE-PACKAGE-NAME -v AVAILABLE-PACKAGE-VERSION --values-file PACKAGE-CONFIGURATION-FILE -n TARGET-NAMESPACE
    

    其中:

    • PACKAGE-NAME 是您為套件選擇的名稱。
    • AVAILABLE-PACKAGE-NAME 是上面記下的套件名稱。
    • AVAILABLE-PACKAGE-VERSION 是上面記下的套件版本。
    • PACKAGE-CONFIGURATION-FILE 是您為套件準備的組態檔。如果未指定此選項,將使用預設組態來安裝套件。
    • TARGET-NAMESPACE 命名空間代表要在其中安裝套件 (PackageInstall)、套件應用程式 (App),以及描述套件的任何其他 Kubernetes 資源。例如,my-packagestanzu-cli-managed-packages 命名空間。

      • 如果未指定 -n 旗標,Tanzu CLI 會使用 default 命名空間。請勿將套件的內容 (例如網繭和服務) 安裝到此命名空間。套件內容的命名空間是在套件組態中另外設定。
      • 指定的命名空間必須已存在,例如,從執行 kubectl create namespace my-packages

    若要查看此命令支援的完整旗標清單,請使用 --help 選項。

  4. 若要確認已安裝套件,請執行 tanzu package installed list 命令。請參閱上面的列出已安裝的套件

更新套件

tanzu package installed update 命令針對 CLI 管理的套件更新其版本和組態。

在針對 CLI 管理的套件更新其版本之前,通常需要如更新套件存放庫所述更新其存放庫。

若要將 CLI 管理的套件同時更新其版本和組態,請執行:

tanzu package installed update INSTALLED-PACKAGE-NAME -v TARGET-PACKAGE-VERSION --values-file PACKAGE-CONFIGURATION-FILE -n INSTALLED-PACKAGE-NAMESPACE

其中:

  • INSTALLED-PACKAGE-NAME 是您為套件選擇的名稱。若要查看套件名稱,您可以執行 tanzu package installed list 命令。如需詳細資訊,請參閱列出已安裝的套件
  • (選用) TARGET-PACKAGE-VERSION 代表套件更新之後的版本。如果您要更新套件組態而非版本,則不需要此選項。
  • (選用) PACKAGE-CONFIGURATION-FILE.yaml 檔案的路徑,其中包含更新的套件組態。如果您要更新套件版本而非組態,則不需要此選項。若要擷取目前組態,請參閱取得已安裝套件的詳細資料
  • INSTALLED-PACKAGE-NAMESPACE 是安裝套件的命名空間。
附註

對於從 TKG v2.1.0 升級到 v2.1.1 的工作負載叢集,更新 cert-managerexternal-dnsgrafana 組態可能需要升級套件版本,如組態更新要求對某些套件進行升級的已知問題中所述。

刪除套件

tanzu package installed delete 命令刪除 CLI 管理的套件。

若要從目標叢集中刪除 CLI 管理的套件,請執行:

tanzu package installed delete INSTALLED-PACKAGE-NAME -n INSTALLED-PACKAGE-NAMESPACE

其中:

  • INSTALLED-PACKAGE-NAME 是您要刪除的套件名稱。若要查看套件名稱,您可以執行 tanzu package installed list 命令。如需詳細資訊,請參閱列出已安裝的套件
  • INSTALLED-PACKAGE-NAMESPACE 是安裝套件的命名空間。如果未指定命名空間,則會使用 default 命名空間。

將覆疊套用至套件

若要自訂 CLI 管理的套件,您可以套用 ytt 覆疊。

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