可以 kubernetes-admin
用户身份连接到 TKG 服务 集群控制平面,以便执行管理任务和对集群问题进行故障排除。
置备的 Tanzu Kubernetes 集群的有效 kubeconfig 文件在 主管 上作为名为 TKGS-CLUSTER-NAME-kubeconfig
的密钥对象提供。可以使用此密钥以 kubernetes-admin
用户身份连接到集群控制平面。
过程
- 连接到 主管。
- 将环境切换到置备了目标 TKG 集群的 vSphere 命名空间。
kubectl config use-context VSPHERE-NAMESPACE
- 查看命名空间中的密钥对象。
kubectl get secrets
该密钥名为TKG-CLUSTER-NAME-kubeconfig
。kubectl config use-context tkg-cluster-ns Switched to context "tkg-cluster-ns". ubuntu@ubuntu:~$ kubectl get secrets NAME TYPE DATA AGE ... tkg-cluster-1-kubeconfig Opaque 1 23h ...
- 通过运行以下命令对密钥进行解码。
密钥采用 Base64 编码。对其进行解码:在 Linux 上,使用
base64 --decode
(或base64 -d
);在 MacOS 上,使用base64 --Decode
(或base64 -D
);在 Windows 上,使用 联机工具。kubectl get secret TKG-CLUSTER-NAME-kubeconfig -o jsonpath='{.data.value}' | base64 -d > tkgs-cluster-kubeconfig-admin
此命令将对密钥进行解码,并将其写入到名为tkgs-cluster-kubeconfig-admin
的本地文件中。使用cat
命令验证文件内容。 - 以 Kubernetes 管理员身份使用解码后的
tkg-cluster-kubeconfig-admin
文件连接到 TKG 集群。有两种选项可以实现此操作。选项 描述 --kubeconfig <path\to\kubeconfig> 使用 --kubeconfig
标记和本地 kubeconfig 文件的路径。例如,假设 kubeconfig 文件位于运行命令的同一目录中:kubectl --kubeconfig tkg-cluster-kubeconfig-admin get nodes
KUBECONFIG 将 KUBECONFIG 环境变量设置为指向解码后的 kubeconfig 文件并运行 kubectl,例如 kubectl get nodes
。您应该会看到集群中的节点。 - 如果您是对 vSphere 命名空间 具有编辑权限的 Devops 用户,并且希望使用 Tanzu CLI 以管理员用户身份登录到 TKG 集群,请运行以下命令:
tanzu cluster kubeconfig get CLUSTER-NAME --admin