检查并注册新部署的独立管理集群

本主题介绍了如何验证和检索 Tanzu Kubernetes Grid 中新部署的独立管理集群的详细信息,并提供有关如何在 Tanzu Mission Control 中注册该集群的链接。

管理集群网络连接

从安装程序界面或 CLI 部署管理集群期间,Tanzu Kubernetes Grid 在引导计算机上的 Docker 中的 Kuberneteskind)集群创建临时管理集群。然后,Tanzu Kubernetes Grid 使用它在您选择的平台上置备最终管理集群,具体取决于您要部署到 vSphere、Amazon Web Services (AWS) 还是 Microsoft Azure。成功完成管理集群部署后,Tanzu Kubernetes Grid 会删除临时 kind 集群。

Tanzu Kubernetes Grid 首次创建管理集群时,还会创建一个文件夹 ~/.config/tanzu/tkg/providers,其中包含集群 API 创建管理集群所需的所有文件。

Tanzu Kubernetes Grid 安装程序界面将创建的管理集群的设置保存到集群配置文件 ~/.config/tanzu/tkg/clusterconfigs/UNIQUE-ID.yaml 中,其中 UNIQUE-ID 是生成的文件名。安装程序还会为管理集群的 Cluster 对象生成 Kubernetes 样式的基于类的对象规范,该规范保存在与管理集群同名的文件中。此基于类的对象规范仅供参考。尚不支持从基于类的对象规范部署管理集群。有关 TKG 2.x 中的集群类型的详细信息,请参见《关于 Tanzu Kubernetes Grid》中的工作负载集群

重要

默认情况下,除非将 KUBECONFIG 环境变量设置为将集群的 kubeconfig 存到特定文件中,否则从 Tanzu CLI 部署的所有集群都将添加到共享的 .kube-tkg/config 文件中。如果删除共享的 .kube-tkg/config 文件,所有管理集群将变成孤立的,因此无法使用。

管理集群网络连接

在部署管理集群时,将在管理集群中自动启用与 Antrea 的 Pod 至 Pod 网络连接。

验证管理集群的部署

成功完成管理集群部署后,可以通过以下方法获取有关管理集群的信息:

  • 在 vSphere、AWS 或 Azure 中查找管理集群对象
  • 使用 Tanzu CLI 和 kubectl

查看 vSphere、AWS 或 Azure 中的管理集群对象

部署的对象取决于您是否已将管理集群部署到 vSphere、AWS 或 Azure。

vSphere
转到部署管理集群时指定的资源池。您应该会看到以下虚拟机或实例:
  • 一个或三个控制平面虚拟机,分别用于开发或生产控制平面,其名称类似于 CLUSTER-NAME-control-plane-sx5rp
  • 一个或三个工作节点虚拟机,分别用于开发或生产,其名称类似于 CLUSTER-NAME-md-0-6b8db6b59d-kbnk4
AWS
转到 Amazon EC2 仪表板的 实例 (Instances) 视图。您应该会看到以下虚拟机或实例:
  • Amazon EC2 上的一个或三个控制平面虚拟机,分别用于开发或生产控制平面,其名称类似于 CLUSTER-NAME-control-plane-bcpfp
  • 一个或三个工作节点虚拟机,分别用于开发或生产,其名称类似于 CLUSTER-NAME-md-0-dwfnm
  • 名为 CLUSTER-NAME-bastion 的 EC2 bastion 主机虚拟机
Azure
转到部署管理集群时指定的资源组。您应该会看到以下虚拟机或实例:
  • 一个或三个控制平面虚拟机,分别用于开发或生产控制平面,其名称类似于 CLUSTER-NAME-control-plane-rh7xv
  • 一个或三个工作节点虚拟机,分别用于开发或生产,其名称类似于 CLUSTER-NAME-md-0-rh7xv
  • 控制平面和工作节点虚拟机的磁盘和网络接口资源,其名称基于相同的名称模式

如果未指定管理集群的名称,CLUSTER-NAME 类似于 tkg-mgmt-vsphere-20200323121503tkg-mgmt-aws-20200323140554

使用 Tanzu CLI 和 kubectl 查看管理集群详细信息

Tanzu CLI 提供的命令可帮助执行管理集群的许多操作。但是,对于某些操作,仍需要使用 kubectl

部署管理集群时,kubectl 上下文不会自动设置为管理集群的上下文。Tanzu Kubernetes Grid 为每个管理集群和工作负载集群提供两个环境:

  • 通过集群的 admin 上下文,您可以完全访问该集群。
    • 如果在集群上实施了身份管理,则可以使用 admin 上下文运行 kubectl 操作,而无需使用身份提供程序 (IDP) 进行身份验证。
    • 如果未在管理集群上实施身份管理,则必须使用 admin 上下文运行 kubectl 操作。
  • 如果在集群上实施了身份管理,则使用常规上下文需要您通过 IDP 进行身份验证,然后才能在集群上运行 kubectl 操作。

在管理集群上运行 kubectl 操作之前,必须先获取其 kubeconfig

  1. 在引导计算机上,运行 tanzu context use 命令以查看可用的管理集群以及哪个集群是 CLI 的当前登录上下文。

    有关详细信息,请参见列出管理集群和更改上下文

  2. 要查看管理集群的详细信息,请运行 tanzu mc get

    有关详细信息,请参见管理集群详细信息

  3. 要检索管理集群的 kubeconfig,请运行 tanzu mc kubeconfig get 命令,如检索管理集群 kubeconfig 中所述。

  4. kubectl 的上下文设置为管理集群。

    kubectl config use-context my-mgmnt-cluster-admin@my-mgmnt-cluster
    
  5. 使用 kubectl 命令检查管理集群的资源。

    例如,运行 kubectl get nodeskubectl get podskubectl get namespaces 以查看管理集群中运行的节点、Pod 和命名空间。

检索管理集群 kubeconfig

tanzu mc kubeconfig get 命令可检索当前管理集群的 kubeconfig 配置信息,选项如下所示:

  • --export-file FILE

    • 没有选项:将检索到的集群配置信息添加到 kubectl CLI 的当前 kubeconfig 文件中,无论是默认 ~/.kube/config 还是由 KUBECONFIG 环境变量设置。
    • 使用选项:将集群配置写入可与他人共享的独立 kubeconfig 文件 FILE
  • --admin

    • 没有选项:生成的标准 kubeconfig 要求用户使用外部身份提供程序进行身份验证,并根据分配的角色授予对集群资源的访问权限。要生成标准的非管理员 kubeconfig,必须在集群上配置身份管理和基于角色的访问控制 (RBAC)。
      • kubeconfig 的上下文名称包含 tanzu-cli- 前缀。例如,tanzu-cli-id-mgmt-test@id-mgmt-test
    • 使用选项:生成包含嵌入式凭据的管理员kubeconfig,该凭据允许用户在不登录到身份提供程序的情况下访问集群,并授予对集群资源的完全访问权限。如果未在集群上配置身份管理,则必须指定 --admin 选项。
      • kubeconfig 的上下文名称包含 -admin 后缀。例如,id-mgmt-test-admin@id-mgmt-test

例如,要生成独立的 kubeconfig 文件以与某个用户共享,从而授予他们对当前管理集群的完全访问权限,请执行以下操作:

tanzu mc kubeconfig get --admin --export-file MC-ADMIN-KUBECONFIG

要检索工作负载集群的 kubeconfig,请运行 tanzu cluster kubeconfig get,如 检索工作负载集群 kubeconfig 中所述。

在 Tanzu Mission Control 中注册管理集群

通过向 Tanzu Mission Control 注册 Tanzu Kubernetes Grid 管理集群,您可以使用 Tanzu Mission Control 仪表板界面置备和管理工作负载集群。要向 Tanzu Mission Control 注册 Tanzu Kubernetes Grid 管理集群,请执行以下操作:

  • 您必须是有权访问 Tanzu Mission Control 的 VMware Cloud Services 组织的成员。有关详细信息,请参见 Tanzu Mission Control 文档中的开始使用 VMware Tanzu Mission Control
  • 在 Tanzu Mission Control 中注册的管理集群必须是具有多个控制平面节点的生产集群。此配置允许 Tanzu Mission Control 支持对管理集群管理的工作负载集群进行完整的生命周期管理。有关详细信息,请参见 Tanzu Mission Control 文档中的在 Tanzu Mission Control 中注册 Tanzu Kubernetes 集群的要求

支持的目标平台

发布时,您只能注册部署在某些目标平台上的 Tanzu Kubernetes Grid 管理集群。有关当前支持的提供程序的列表,请参见《Tanzu Mission Control》文档中的在 Tanzu Mission Control 中注册 Tanzu Kubernetes 集群的要求

AWS

在 AWS 上部署管理集群之前,请确保目标 AWS 帐户中的 tkg-cloud-vmware-com CloudFormation 堆栈包含 Tanzu Mission Control 所需的权限中列出的 IAM。通过运行 tanzu mc permissions aws set 命令创建或更新 CloudFormation 堆栈时,将自动包括这些权限。

如果手动配置了 CloudFormation 堆栈中定义的 IAM 权限,则必须将 Tanzu Mission Control 所需的权限中列出的权限添加到 nodes.tkg.cloud.vmware.com IAM 策略或角色。

过程

通过 Tanzu Kubernetes Grid 安装程序界面Tanzu CLI 部署管理集群后,请按照《Tanzu Mission Control》文档中的说明进行操作:

  1. 在 Tanzu Mission Control 中注册管理集群,然后完成管理集群的注册

  2. (可选)成功注册管理集群后,可以将当前由管理集群管理的任何现有工作负载集群添加到Tanzu Mission Control。要在 Tanzu Mission Control 中管理这些集群,请参见将 Workload Cluster 添加到 Tanzu Mission Control 管理

下一步操作

现在,您可以使用 Tanzu Kubernetes Grid 开始部署工作负载集群。有关信息,请参见部署工作负载集群

如果需要在任意或全部的 vSphere、Azure 和 AWS 上部署多个管理集群,请参见管理您的管理集群。本主题还提供了有关如何将现有管理集群添加到 CLI 实例、获取凭据、扩展和删除管理集群以及如何选择加入或退出 CEIP 的信息。

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