此主題說明如何使用 Tanzu CLI 來安裝及管理套件和套件存放庫。
附註
tanzu package
CLI 外掛程式僅適用於 CLI 管理的套件。請勿使用本主題中提供的命令來安裝和管理自動管理的套件。其生命週期由 Tanzu Kubernetes Grid 自動管理。如需自動管理的套件的詳細資訊,請參閱自動管理的套件。
從 standard
套件存放庫安裝 CLI 管理的套件之前,請執行下列動作:
如需如何使用 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 repository add tanzu-standard --url projects.registry.vmware.com/tkg/packages/standard/repo:v2023.10.16 --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
是安裝套件的命名空間。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
覆疊。有關如何下載和安裝 ytt
的資訊,請參見安裝 Carvel 工具。