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. 安装证书管理器以在工作负载集群中进行证书管理

安装概览

有关如何使用 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 标记。这将从 Package Kubernetes API 资源中检索可用软件包的 valuesSchema 部分。您可以将值结构定义的输出格式 -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 命名空间。请勿将软件包的内容(如 pod 和服务)安装到此命名空间中。软件包内容的命名空间是在软件包配置中单独设置的。
      • 指定的命名空间必须已存在,例如,通过运行 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