本主题介绍了如何验证和检索 Tanzu Kubernetes Grid 中新部署的独立管理集群的详细信息,并提供有关如何在 Tanzu Mission Control 中注册该集群的链接。
从安装程序界面或 CLI 部署管理集群期间,Tanzu Kubernetes Grid 在引导计算机上的 Docker 中的 Kubernetes(kind
)集群创建临时管理集群。然后,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 网络连接。
成功完成管理集群部署后,可以通过以下方法获取有关管理集群的信息:
kubectl
部署的对象取决于您是否已将管理集群部署到 vSphere、AWS 或 Azure。
CLUSTER-NAME-control-plane-sx5rp
CLUSTER-NAME-md-0-6b8db6b59d-kbnk4
CLUSTER-NAME-control-plane-bcpfp
CLUSTER-NAME-md-0-dwfnm
CLUSTER-NAME-bastion
的 EC2 bastion 主机虚拟机CLUSTER-NAME-control-plane-rh7xv
CLUSTER-NAME-md-0-rh7xv
如果未指定管理集群的名称,CLUSTER-NAME
类似于 tkg-mgmt-vsphere-20200323121503
或 tkg-mgmt-aws-20200323140554
。
kubectl
查看管理集群详细信息Tanzu CLI 提供的命令可帮助执行管理集群的许多操作。但是,对于某些操作,仍需要使用 kubectl
。
部署管理集群时,kubectl
上下文不会自动设置为管理集群的上下文。Tanzu Kubernetes Grid 为每个管理集群和工作负载集群提供两个环境:
admin
上下文,您可以完全访问该集群。
admin
上下文运行 kubectl
操作,而无需使用身份提供程序 (IDP) 进行身份验证。admin
上下文运行 kubectl
操作。kubectl
操作。在管理集群上运行 kubectl
操作之前,必须先获取其 kubeconfig
。
在引导计算机上,运行 tanzu context use
命令以查看可用的管理集群以及哪个集群是 CLI 的当前登录上下文。
有关详细信息,请参见列出管理集群和更改上下文。
要查看管理集群的详细信息,请运行 tanzu mc get
。
有关详细信息,请参见管理集群详细信息。
要检索管理集群的 kubeconfig
,请运行 tanzu mc kubeconfig get
命令,如检索管理集群 kubeconfig
中所述。
将 kubectl
的上下文设置为管理集群。
kubectl config use-context my-mgmnt-cluster-admin@my-mgmnt-cluster
使用 kubectl
命令检查管理集群的资源。
例如,运行 kubectl get nodes
、kubectl get pods
或 kubectl 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 Kubernetes Grid 管理集群,您可以使用 Tanzu Mission Control 仪表板界面置备和管理工作负载集群。要向 Tanzu Mission Control 注册 Tanzu Kubernetes Grid 管理集群,请执行以下操作:
发布时,您只能注册部署在某些目标平台上的 Tanzu Kubernetes Grid 管理集群。有关当前支持的提供程序的列表,请参见《Tanzu Mission Control》文档中的在 Tanzu Mission Control 中注册 Tanzu Kubernetes 集群的要求。
在 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》文档中的说明进行操作:
(可选)成功注册管理集群后,可以将当前由管理集群管理的任何现有工作负载集群添加到Tanzu Mission Control。要在 Tanzu Mission Control 中管理这些集群,请参见将 Workload Cluster 添加到 Tanzu Mission Control 管理。
现在,您可以使用 Tanzu Kubernetes Grid 开始部署工作负载集群。有关信息,请参见部署工作负载集群。
如果需要在任意或全部的 vSphere、Azure 和 AWS 上部署多个管理集群,请参见管理您的管理集群。本主题还提供了有关如何将现有管理集群添加到 CLI 实例、获取凭据、扩展和删除管理集群以及如何选择加入或退出 CEIP 的信息。