本主题介绍如何使用 Tanzu CLI 安装和管理软件包和软件包存储库。
注意
tanzu package
CLI 插件仅适用于 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
标记。这将从 Package
Kubernetes API 资源中检索可用软件包的 valuesSchema
部分。您可以将值结构定义的输出格式 -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
命名空间。请勿将软件包的内容(如 pod 和服务)安装到此命名空间中。软件包内容的命名空间是在软件包配置中单独设置的。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
覆盖。