软件包

本节概述了可以在 Tanzu Kubernetes Grid 中的工作负载集群上安装和配置的软件包。

在 Tanzu Kubernetes Grid 创建的工作负载集群上安装软件包会为集群添加一项功能。此功能通常为集群托管的工作负载提供服务。例如,Antrea 软件包提供 Antrea 容器网络接口 (CNI)、Contour 软件包 Ingress 控制服务、Harbor 软件包专用容器注册表等。某些软件包支持集群本身的操作。

在内部,软件包包含配置元数据和映像引用,用于通知软件包管理器软件包包含哪些软件以及如何将其安装到 Kubernetes 集群中。软件包分组为软件包存储库。某些软件包会自动在集群中启用,而其他软件包则通过 Tanzu CLI 明确安装。有关如何在 Tanzu Kubernetes Grid 中实施软件包和软件包存储库的详细信息,请参见下面的 Carvel API 资源

软件包类型

Tanzu Kubernetes Grid 包含以下类型的软件包:

  • 自动管理的软件包。Tanzu Kubernetes Grid 会自动安装和升级这些软件包。请参见下面的自动管理的软件包部分。
  • CLI 管理的软件包。这些软件包是使用 Tanzu CLI 显式安装和升级的。位于 tanzu-standard 软件包存储库或添加到集群的其他存储库中。请参见下面的 CLI 管理的软件包部分。

自动管理的软件包

基本集群功能通常需要这些软件包。Tanzu Kubernetes Grid 会在创建和升级 Kubernetes 集群时自动安装和升级它们。

注意

tanzu package CLI 插件仅适用于 CLI 管理的软件包。请勿使用 tanzu package CLI 插件安装和管理自动管理的软件包。其生命周期由 Tanzu Kubernetes Grid 管理。

有关如何查看和更新自动管理的软件包配置,请参见查看和自定义自动管理的软件包配置

安装和版本更新

Tanzu Kubernetes Grid 管理自动管理软件包的生命周期。这包括自动软件包安装和版本更新。

自动管理的软件包在集群创建期间安装。要确定要在工作负载集群中安装哪些自动管理的软件包,Tanzu Kubernetes Grid 读取用于创建集群和集群特定配置信息的 Tanzu Kubernetes 版本。升级工作负载集群时,在升级过程中,Tanzu Kubernetes Grid 会更新集群中安装的自动管理软件包的版本。

自动管理软件包列表

下表列出了 TKG 安装的自动管理软件包及其安装到的集群类型。

自动管理的软件包从 tanzu-core 存储库进行安装,并在以下命名空间中运行,具体取决于 TKG 部署类型:

  • 主管命名空间:vmware-system-tkg
  • 独立管理集群命名空间:tkg-system
软件包 安装位置(具有主管) 安装位置(具有独立管理集群) 描述
ako-operator 未安装 管理(仅 vSphere with NSX ALB) 提供 VMware NSX Advanced Load Balancer。如果启用了 NSX Advanced Load Balancer,则会安装此软件包。
antrea 工作负载 管理和工作负载 启用 Pod 网络连接,并对 Kubernetes 集群强制实施网络策略。默认情况下安装,除非选择 Calico 作为 CNI 提供程序。
calico 工作负载 管理和工作负载 启用 Pod 网络连接,并对 Kubernetes 集群强制实施网络策略。选择 Calico 作为 CNI 提供程序时安装。在 Windows 上不支持。
capabilities 工作负载 工作负载 启用 Capabilities API。“capability”是 Kubernetes 集群可以执行或拥有的内容,例如对象和 API 表面区域。Capability 发现可用于回答诸如“这是 TKG 集群吗?”或“此集群是否具有资源 X?”等问题。
guest-cluster-auth-service 工作负载 未安装 管理 vSphere 单点登录 (SSO),使 vSphere SSO 用户能够访问目标工作负载集群
kapp-controller 工作负载 管理和工作负载 管理软件包
load-balancer-and-ingress-service (AKO) 未安装 管理和工作负载(仅 vSphere with NSX ALB) 为在由 Tanzu Kubernetes Grid 创建的集群中运行的应用程序提供 L4+L7 负载均衡;用于南北向流量。如果启用了 NSX Advanced Load Balancer,则会安装此软件包。
metrics-server 工作负载 管理和工作负载 提供衡量指标服务器
pinniped 工作负载 管理和工作负载 提供用户身份验证。仅当配置了身份提供程序时才安装。可以在创建后安装在独立管理集群中;请参见在现有部署中启用和配置身份管理
secretgen-controller 工作负载 工作负载 启用 carvel-secretgen-controller
tanzu-addons-manager 管理 管理 管理 tanzu-core 软件包的生命周期。
tkg-pkg 未安装 管理 安装 tanzu-addons-managertkr-source-controllerClusterClass 定义以及 TKG 独立管理集群所需的其他组件。
vsphere-cpi 工作负载 管理和工作负载(仅限 vSphere) 提供 vSphere 云提供商接口
vsphere-pv-csi 工作负载 未安装 提供 vSphere 云存储接口

CLI 管理的软件包

CLI 管理的软件包扩展了 Tanzu Kubernetes Grid 创建的 Kubernetes 集群。创建集群后,可以从 tanzu-standard 软件包存储库或添加到集群的其他软件包存储库中安装软件包。

有关 CLI 管理的软件包、发布软件包的软件包存储库以及如何安装这些软件包的列表,请参见使用 Tanzu CLI 安装和管理软件包

Carvel API 资源

要使软件包在 Kubernetes 集群中可用,Tanzu Kubernetes Grid 将在目标集群中创建以下 API 资源:

  • PackageRepositorypkgr 表示单个软件包存储库。它将 kapp-controller 软件包管理器指向在资源中定义的软件包存储库。软件包存储库包含 PackagePackageMetadata 资源。在目标集群中创建 PackageRepository 后,kapp-controller 可以安装软件包存储库中包含的任何软件包。此 API 资源仅用于 CLI 管理的软件包。
  • Packagepkg 包含有关给定软件包的特定于版本的信息,并定义了如何安装软件包。在安装软件包时 kapp-controller 使用 Package 资源。
  • PackageMetadatapkgm 包含有关给定软件包的版本无关的信息。
  • PackageInstallpkgi 表示目标集群中已安装的软件包。它还引用用于安装软件包的 Package 资源。

您可以使用 kubectl api-resourceskubectl get 命令列出和查看这些资源。有关 Carvel API 资源的详细信息,请参见 Carvel 文档中的打包

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