可以 kubernetes-admin
用户身份连接到 Tanzu Kubernetes 集群控制平面,以便执行管理任务和对集群问题进行故障排除。
置备的 Tanzu Kubernetes 集群的有效 kubeconfig 文件在 主管集群 上作为 TKGS-CLUSTER-NAME-kubeconfig
的密钥对象提供。可以使用此密钥以 kubernetes-admin
用户身份连接到集群控制平面。有关详细信息,请参见获取 Tanzu Kubernetes 集群密钥。
过程
- 连接到 主管集群。请参见以 vCenter Single Sign-On 用户的身份连接到 主管集群。
- 将上下文切换到置备了目标 Tanzu Kubernetes 集群的 vSphere 命名空间。
kubectl config use-context VSPHERE-NAMESPACE
- 查看命名空间中的密钥对象。
kubectl get secrets
该密钥名为TKGS-CLUSTER-NAME-kubeconfig
。kubectl config use-context tkgs-cluster-ns Switched to context "tkgs-cluster-ns". ubuntu@ubuntu:~$ kubectl get secrets NAME TYPE DATA AGE ... tkgs-cluster-1-kubeconfig Opaque 1 23h ...
- 通过运行以下命令对密钥进行解码。
密钥采用 Base64 编码。对其进行解码:在 Linux 上,使用
base64 --decode
(或base64 -d
);在 MacOS 上,使用base64 --Decode
(或base64 -D
);在 Windows 上,使用 联机工具。kubectl get secret TKGS-CLUSTER-NAME-kubeconfig -o jsonpath='{.data.value}' | base64 -d > tkgs-cluster-kubeconfig-admin
此命令将对密钥进行解码,并将其写入到名为tkgs-cluster-kubeconfig-admin
的本地文件中。使用cat
命令验证文件内容。 - 以 Kubernetes 管理员身份使用解码后的
tkgs-cluster-kubeconfig-admin
文件连接到 Tanzu Kubernetes 集群。有两种选项可以实现此操作。选项 描述 --kubeconfig <path\to\kubeconfig> 使用 --kubeconfig
标记和本地 kubeconfig 文件的路径。例如,假设 kubeconfig 文件位于运行命令的同一目录中:kubectl --kubeconfig tkgs-cluster-kubeconfig-admin get nodes
KUBECONFIG 将 KUBECONFIG 环境变量设置为指向解码后的 kubeconfig 文件并运行 kubectl,例如 kubectl get nodes
。您应该会看到集群中的节点。例如:kubectl --kubeconfig tkgs-cluster-kubeconfig-admin get nodes NAME STATUS ROLES AGE VERSION tkgs-cluster-1-control-plane-4ncm4 Ready master 23h v1.18.5+vmware.1 tkgs-cluster-1-control-plane-jj9gq Ready master 23h v1.18.5+vmware.1 tkgs-cluster-1-control-plane-r4hm6 Ready master 23h v1.18.5+vmware.1 tkgs-cluster-1-workers-6njk7-84dd7f48c6-nz2n8 Ready <none> 23h v1.18.5+vmware.1 tkgs-cluster-1-workers-6njk7-84dd7f48c6-rk9pk Ready <none> 23h v1.18.5+vmware.1 tkgs-cluster-1-workers-6njk7-84dd7f48c6-zzngh Ready <none> 23h v1.18.5+vmware.1