部署独立管理集群

本节总结了如何部署独立 Tanzu Kubernetes Grid 管理集群。部署管理集群将完成 Tanzu Kubernetes Grid 安装过程,并使 Tanzu Kubernetes Grid 正常运行。

执行安装 Tanzu CLI 和其他工具以与独立管理集群配合使用 中所述的步骤后,您可以将管理集群部署到 vSphere 6.7、vSphere 7、vSphere 8、AWS 或 Azure。

重要

在 vSphere 8 中的 vSphere with Tanzu 上,可以使用 Tanzu CLI 连接到内置主管并部署 TKG 2.x 工作负载集群,因此不需要部署管理集群。有关信息,请参见 vSphere with Tanzu 主管是管理集群。支持在未启用 vSphere with Tanzu 时将独立管理集群部署到 vSphere 8,但首选选项是启用 vSphere with Tanzu 并使用主管(如果可能)。

管理集群是 Kubernetes 集群,可在特定云提供程序上运行集群 API 操作,以在该提供程序上创建和管理工作负载集群。管理集群也是配置工作负载集群使用的共享服务和集群内服务的位置。

注意

VMware 建议不要将工作负载部署到独立管理集群本身,因为:

  • 对管理集群和工作负载集群具有不同的顾虑。
  • 独立管理集群不会像工作负载集群一样进行备份。为确保恢复能力,对管理集群配置最好作为代码进行管理。

集群部署过程

下图显示了为不同的 IaaS 提供程序(例如,vSphere 6.7、7 和 8、AWS 和 Azure)部署管理集群和工作负载集群的简要步骤,以及用于执行这些步骤的界面。

部署管理集群和工作负载集群,安装 Tanzu CLI,选择 UI 或文件配置,然后选择 IaaS

安装程序 UI 与 CLI

您可以通过两种方式部署管理集群:

  • 运行 Tanzu Kubernetes Grid 安装程序,这是一个向导界面,可指导您完成部署管理集群的过程。这是推荐的方法。
  • 创建和编辑 YAML 配置文件,然后使用它们通过 CLI 命令部署管理集群。

平台

您可以在以下平台上部署和管理独立 Tanzu Kubernetes Grid 管理集群:

  • vSphere 6.7u3
  • vSphere 7(如果未启用主管集群)。
  • vSphere 8(如果未启用主管)。
  • Amazon Web Services (AWS)
  • Microsoft Azure

您可以将管理集群部署为单节点控制平面(对于部署),也可以部署为高度可用的多节点控制平面(对于生产环境)。

管理集群及其配置文件

通过在引导计算机上运行 tanzu mc create 命令来部署管理集群。要部署管理集群,必须使用 tanzu mc create 指定 --ui--file 选项。

  • 安装程序界面tanzu mc create --ui 将使用安装程序界面创建管理集群,并将安装程序输入中的设置保存到集群配置文件 ~/.config/tanzu/tkg/clusterconfigs/UNIQUE-ID.yaml,其中 UNIQUE-ID 是生成的文件名。安装程序还会为管理集群的 Cluster 对象生成 Kubernetes 样式的基于类的对象规范,该规范保存在与管理集群同名的文件中。此基于类的对象规范仅供参考。尚不支持从基于类的对象规范部署管理集群。有关 TKG 2.x 中的集群类型的详细信息,请参见《关于 Tanzu Kubernetes Grid》中的工作负载集群
  • CLItanzu mc create --file 将使用集群配置文件创建管理集群。在运行 tanzu mc create 之前,请在集群配置文件中设置配置参数(如 INFRASTRUCTURE_PROVIDER),然后将其传递到 --file 选项。建议的做法是为部署的每个管理集群使用专用配置文件。

还可以将配置参数设置为环境变量。如果设置有冲突的参数,环境变量将覆盖传递到 --file 选项的文件中设置的配置参数:

  • 本地环境变量:在终端会话上持久保留。这些变量还会替代 Tanzu CLI 配置文件 (~/.config/tanzu/config.yaml) 中的环境变量。
  • ~/.config/tanzu/config.yaml 中的环境变量,通过运行 tanzu config set 设置:永久保留,直到通过运行 tanzu config unset 取消它们为止。

tanzu mc create 命令按以下优先级递增顺序使用这些源和输入:

  1. ~/.config/tanzu/tkg/providers/config_default.yaml:此文件包含系统默认值,不应更改。
  2. 使用 --file 选项:集群配置文件,默认为 ~/.config/tanzu/tkg/cluster-config.yaml。此文件配置 tanzu mc create 的特定调用。使用不同的配置文件保存多个配置。
  3. 通过运行 tanzu config set 设置的环境变量:~/.config/tanzu/config.yaml 文件。这些变量将应用于所有 tanzu 命令。本地环境变量覆盖 ~/.config/tanzu/config.yaml 中的变量。
  4. 本地环境变量:本地环境中的参数设置将覆盖配置文件中的设置。使用它们可快速做出配置选择,而无需搜索和编辑配置文件。
  5. 使用 --ui 选项:安装程序界面输入。运行 tanzu mc create --ui 时,安装程序会根据用户输入设置所有管理集群配置值。

创建管理集群时会发生什么情况

运行 tanzu mc create 会在引导计算机上使用 Docker 中的 Kubernetes (kind) 集群创建临时管理集群。在本地创建临时管理集群后,Tanzu Kubernetes Grid 使用该集群在您选择的平台中置备最终的管理集群。

在此过程中,tanzu mc create 在本地引导计算机上的用户主目录中创建或修改 CLI 配置和状态文件:

位置 内容 更改
/.config/tanzu/tkg/bom/ 物料清单 (BoM) 文件,其中列出了 Tanzu Kubernetes Grid 创建具有特定操作系统和 Kubernetes 版本的集群时所需的所有软件包的特定版本。Tanzu Kubernetes Grid 会在发布新 Tanzu Kubernetes 版本时添加到此目录。 如果不存在,则添加
/.config/tanzu/tkg/providers/ 集群 API、云提供程序和其他依赖项的配置模板文件使用 ytt 覆盖网络进行组织,以进行非破坏性修改。 如果不存在,则添加
/.config/tanzu/tkg/providers-TIMESTAMP-HASH/ 备份先前安装中的 /providers 目录。 如果不是首次安装,请添加
/.config/tanzu/config.yaml Tanzu CLI 了解的管理集群的名称、上下文和证书文件位置以及当前集群的名称、上下文和证书文件位置。此文件还列出了 Tanzu CLI 插件的发现源、由 tanzu config set 设置的环境变量,以及 Tanzu CLI 中默认激活或停用的功能。 添加新的管理集群信息并将其设置为 current
/.config/tanzu/tkg/cluster-config.yaml 如果未使用 –file 指定集群配置文件,tanzu cluster createtanzu mc create 命令将使用默认集群配置文件。
最佳做法是使用每个集群唯一的配置文件。
添加空文件(如果尚不存在)。
/.config/tanzu/tkg/clusterconfigs/IDENTIFIER.yaml tanzu mc create –ui 使用安装程序界面输入的值写入的平面集群配置文件。
IDENTIFIER 是由安装程序生成的唯一标识符。
创建文件
/.config/tanzu/tkg/clusterconfigs/MGMT-CLUSTER-NAME.yaml tanzu mc create –ui 基于平面配置文件生成的基于类的集群配置文件。 创建文件
/.config/tanzu/tkg/config.yaml Tanzu Kubernetes Grid 内核及其所有提供程序的配置和位置列表。 如果不存在,则添加
/.config/tanzu/tkg/providers/config.yaml /.config/tanzu/tkg/config.yaml 类似,但仅列出 /.config/tanzu/tkg/providers 目录(而不是核心 Tanzu Kubernetes Grid 使用的配置文件)中的提供程序和配置。 如果不存在,则添加
/.config/tanzu/tkg/providers/config_default.yaml 提供程序的系统范围默认配置。
最佳做法不是编辑此文件,而是通过 ytt 覆盖文件更改提供程序配置。
如果不存在,则添加
/.kube-tkg/config 管理集群 kubeconfig 文件,其中包含 tanzu CLI 了解的管理集群的名称和证书。位置被 KUBECONFIG 环境变量覆盖。 添加新的管理集群信息,并将集群设置为 current-context
/.kube/config kubectl CLI 的配置和状态,包括所有管理和工作负载集群,即当前上下文。 添加新的管理集群名称、上下文和证书信息。请勿将当前 kubectl 上下文更改为新集群。

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