可以使用 kubectl 的 vSphere 插件 连接到 TKG 集群,并使用 vCenter Single Sign-On 凭据进行身份验证。
登录到
Tanzu Kubernetes 集群后,
kubectl 的 vSphere 插件 将为集群生成上下文。在 Kubernetes 中,配置上下文包含集群、命名空间和用户。可以在
.kube/config 文件中查看集群上下文。此文件通常称为
kubeconfig 文件。
注: 如果您有现有的
kubeconfig
文件,则该文件将附加每个集群上下文。
kubectl 的 vSphere 插件 采用
kubectl 自身使用的 KUBECONFIG 环境变量。请在运行
kubectl vsphere login ...
之前设置此变量,虽然此操作并非必需,但非常有用,因为这样可将信息写入新文件(而不是添加到当前
kubeconfig
文件)。
前提条件
从您的 vSphere 管理员处获取以下信息:
过程
- 要查看用于登录的命令语法和选项,请运行以下命令。
kubectl vsphere login --help
- 要连接到 Tanzu Kubernetes 集群,请运行以下命令。
kubectl vsphere login --server=SUPERVISOR-CLUSTER-CONTROL-PLANE-IP-OR-FQDN
--tanzu-kubernetes-cluster-name TKG-CLUSTER-NAME
--tanzu-kubernetes-cluster-namespace VSPHERE-NAMESPACE
--vsphere-username VCENTER-SSO-USER-NAME
例如:
kubectl vsphere login --server=10.92.42.137
--tanzu-kubernetes-cluster-name tkg-cluster-01
--tanzu-kubernetes-cluster-namespace tkg-cluster-ns
--vsphere-username [email protected]
或者,如果已使用完全限定域名 (FQDN) 启用
主管:
kubectl vsphere login --server=wonderland.acme.com
--tanzu-kubernetes-cluster-name tkg-cluster-01
--tanzu-kubernetes-cluster-namespace tkg-cluster-ns
--vsphere-username [email protected]
此操作将创建一个配置文件,其中包含用于向 Kubernetes API 进行身份验证的 JSON Web 令牌 (JWT)。
- 要进行身份验证,请输入您的 vCenter Single Sign-On 密码。
如果操作成功,您会看到消息
Logged in successfully
,您可以针对集群运行
kubectl 命令。如果命令返回
Error from server (Forbidden)
,通常此错误表示您没有所需的权限。
- 要获取可用的上下文列表,请运行以下命令:
kubectl config get-contexts
此命令将列出您有权访问的配置上下文。您会看到目标集群的配置上下文,如
tkg-cluster-01。
- 要使用目标集群的上下文,请运行以下命令:
kubectl config use-context CLUSTER-NAME
- 要列出集群节点,请运行以下命令:
您将看到此集群中的控制平面节点和工作节点。
- 要列出所有集群 pod,请运行以下命令:
您将看到有权访问的所有 Kubernetes 命名空间中此集群的所有 pod。如果尚未部署任何工作负载,则不会在默认命名空间中看到任何 pod。