此主題說明如何使用 Tanzu CLI 來安裝及管理套件和套件存放庫。
附註
tanzu packageCLI 外掛程式僅適用於 CLI 管理的套件。請勿使用本主題中提供的命令來安裝和管理自動管理的套件。其生命週期由 Tanzu Kubernetes Grid 自動管理。如需自動管理的套件的詳細資訊,請參閱自動管理的套件。
從 standard 套件存放庫安裝 CLI 管理的套件之前,請執行下列動作:
tanzu-standard 套件存放庫。如果要將以計劃為基礎的叢集 (舊版) 為目標,請跳過此步驟。對於以計劃為基礎的叢集,會在 tanzu-package-repo-global 命名空間中的每個叢集中,自動啟用 tanzu-standard 套件存放庫。如需如何使用 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。
projects.registry.vmware.com/tce 之下。REPOSITORY-NAMESPACE 是套件存放庫的目標命名空間。如果未指定此選項,Tanzu CLI 會將套件存放庫新增至 default 命名空間。例如,若要新增 standard 套件存放庫,且其中含有 Tanzu Kubernetes Grid 中由 CLI 管理的套件,請執行以下命令。standard 套件存放庫的目標 --namespace 為 tkg-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 設定為 yaml、json 或 table。
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 管理的套件,請執行下列動作:
新增包含該套件的套件存放庫 (如果尚未新增)。請參閱上面的新增套件存放庫。
記下要安裝的套件名稱和版本。若要查看套件名稱和版本,請執行 tanzu package available list 命令。請參閱上面的列出可用套件。
安裝套件:
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-packages 或 tanzu-cli-managed-packages 命名空間。
-n 旗標,Tanzu CLI 會使用 default 命名空間。請勿將套件的內容 (例如網繭和服務) 安裝到此命名空間。套件內容的命名空間是在套件組態中另外設定。kubectl create namespace my-packages。若要查看此命令支援的完整旗標清單,請使用 --help 選項。
若要確認已安裝套件,請執行 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-manager、external-dns和grafana組態可能需要升級套件版本,如組態更新要求對某些套件進行升級的已知問題中所述。
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 覆疊。