验证您是否可以使用 GDC 控制台或 gdcloud CLI 登录。
登录
如需登录 Distributed Cloud,请完成以下步骤:
控制台
在新浏览器标签页中打开以下网址,以访问分布式云界面:
https://GDC_URL
将 GDC_URL 替换为配置了域名系统 (DNS) 服务的 Infrastructure Operator (IO) 提供的网域名称。
首次打开任何网址时,系统会将您重定向到身份提供方登录页面。如需登录,请使用您之前创建的用户名和密码。
CLI
登录 gdcloud CLI 时,您可以使用 gdcloud auth login 命令向 gdcloud CLI 进行主账号的身份验证。gcloud CLI 会使用该主账号进行身份验证和授权,以管理 Google Cloud 资源和服务。
在登录之前,请确保您已完成以下操作:
- 下载 gdcloud CLI 二进制文件并将其安装到您的系统中。如需了解详情,请参阅下载 gdcloud CLI。
- 设置并初始化 gdcloud CLI 默认配置。请务必设置正确的组织网址,该网址用于提取登录配置端点。如需了解详情,请参阅 gdcloud CLI 安装。
- 安装身份验证插件
gdcloud-k8s-auth-plugin。如需了解详情,请参阅 gcloud CLI 身份验证。
如需登录集群,请完成以下步骤:
导出您要存储集群 kubeconfig 文件的路径:
export KUBECONFIG=CLUSTER_KUBECONFIG将 CLUSTER_KUBECONFIG 替换为用于存储 kubeconfig 文件的目录的路径。
对您的 gdcloud CLI 实例进行身份验证以登录。您可以通过以下两种方式进行身份验证:
标准浏览器登录:从浏览器登录时使用此身份验证流程。
gdcloud auth login辅助设备登录:如果您的主设备没有可用的浏览器,请使用此身份验证流程。此流程会在无法访问浏览器的主设备上启动登录,然后继续在可访问浏览器的辅助设备上完成登录。
在没有浏览器的主设备上启动登录:
gdcloud auth login --no-browserKUBECONFIG环境变量会更新为组织中所有 API 服务器和集群的 kubeconfig 文件。如果未设置KUBECONFIG变量,kubectl CLI 会使用存储在$HOME/.kube/config中的默认 kubeconfig 文件。如需跳过修改 kubeconfig 文件,请在命令中添加
--skip-kubeconfig-update标志。例如:gdcloud auth login --no-browser --skip-kubeconfig-update复制打印出的 gdcloud CLI 命令输出,并在有浏览器访问权限的机器上运行该命令。
按照网页上的说明完成登录流程。
成功完成登录后,浏览器会显示消息身份验证成功。请关闭此窗口。
按照终端上的说明操作。成功登录后,终端会显示消息:You are now logged in。
将您的用户身份 kubeconfig 文件导出为变量:
export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml使用您的用户身份生成 kubeconfig 文件:
gdcloud clusters get-credentials CLUSTER_NAME --zone ZONE将
ZONE替换为可用区名称。系统会生成一个包含您的用户身份信息的 kubeconfig 文件。 以下 YAML 文件显示了一个示例:
apiVersion: v1 clusters: - cluster: certificate-authority-data: <REDACTED> server: https://10.200.0.32:443 name: cluster-name contexts: - context: cluster: cluster-name user: cluster-name-anthos-default-user name: cluster-name-cluster-name-anthos-default-user current-context: cluster-name-cluster-name-anthos-default-user kind: Config preferences: {} users: - name: cluster-name-anthos-default-user user: exec: apiVersion: client.authentication.k8s.io/v1 args: - --audience=root-admin command: gdcloud-k8s-auth-plugin env: null installHint: Run 'gdcloud components install gdcloud-k8s-auth-plugin' to use plugin interactiveMode: Never provideClusterInfo: false如需验证您是否可以访问集群,请使用生成的 kubeconfig 文件以用户身份登录:
kubectl --kubeconfig /tmp/admin-kubeconfig-with-user-identity.yaml version
退出
如需验证退出,请执行以下操作:
控制台
如需从网页界面中退出,请点击菜单栏中的 Logout。

CLI
从 CLI 退出:
gdcloud auth revoke
手动生成 kubeconfig 文件
如果您通过直接调用 KRM API 来使用 kubectl CLI 管理资源,则必须根据您管理的资源类型,为托管资源的集群生成 kubeconfig 文件。可用的集群和服务器如下:
| 集群 | 名称 |
|---|---|
| 根管理员集群 | root-admin |
| 根全局 API 服务器 | global-api |
| 组织管理员集群(v1 版组织) | ORG_NAME-admin |
| 系统集群(v1 组织) | ORG_NAME-系统 |
| 组织基础架构集群(第 2 版组织) | ORG_NAME-infra |
| Management API 服务器(v2 组织) | ORG_NAME-admin |
| 组织管理员全局 API 服务器 | global-api |
| 用户集群 | CLUSTER_NAME |
您还必须了解 GDC 全球配置,以确定您打算将地区级资源部署到哪些地区,或者将全球资源部署到哪个全球 API 服务器。如需了解详情,请参阅全球和可用区级 API 服务器。
确定您要操作的资源是全球性资源还是可用区级资源。如果您不确定,请访问相应资源的专用文档以获取帮助。
根据您的资源类型完成适用的设置。
可用区级资源
完成以下步骤,为区域集群生成 kubeconfig 文件:
查看所有可用区:
gdcloud zones list记下托管自定义资源的可用区的名称。
将
ZONE环境变量设置为托管您的可用区级资源的可用区:export ZONE="ZONE"将
ZONE替换为可用区名称。设置
CLUSTER环境变量:export CLUSTER="CLUSTER_NAME"将
CLUSTER_NAME替换为托管资源的集群的名称。为目标可用区生成集群 kubeconfig 文件,并验证凭据:
export KUBECONFIG=${HOME}/${CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${CLUSTER:?} --zone ${ZONE:?} [[ $(kubectl config current-context) == *${CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"命令
rm ${KUBECONFIG:?}会移除主目录中的现有 kubeconfig 文件。即使不明确移除现有的 kubeconfig 文件,新生成的 kubeconfig 文件也会覆盖该文件。如果您不想覆盖或移除现有文件,请将其备份到其他安全位置。
全球性资源
完成以下步骤,为全局 API 服务器生成 kubeconfig 文件:
设置
GLOBAL_API_SERVER环境变量:export GLOBAL_API_SERVER="global-api"生成全局 API 服务器 kubeconfig 文件,并验证凭据:
export KUBECONFIG=${HOME}/${GLOBAL_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${GLOBAL_API_SERVER:?} [[ $(kubectl config current-context) == *${GLOBAL_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"命令
rm ${KUBECONFIG:?}会移除主目录中的现有 kubeconfig 文件。即使不明确移除现有的 kubeconfig 文件,新生成的 kubeconfig 文件也会覆盖该文件。如果您不想覆盖或移除现有文件,请将其备份到其他安全位置。
会话无活动状态下的退出
如果会话处于非活动状态的时间超过 15 分钟,GDC 控制台和 gdcloud CLI 会将您退出登录。 GDC 将会话不活动视为开放会话期间您没有任何主动互动的时间段,例如没有光标或键盘移动。在用户活跃的情况下,有效会话最多可持续 12 小时。
控制台
对于会话闲置,GDC 控制台会将您退出登录。在 GDC 控制台因您未做任何操作而将您退出登录前两分钟,您会收到一个对话框,其中会提醒您即将退出登录:

在因闲置而将您退出账号后,您会看到以下界面:

如需重新登录 GDC 控制台,请选择您的身份提供方并添加您的登录凭据。如果您使用监控信息中心等服务,并且 GDC 控制台因您处于不活动状态而将您退出,请重新登录以获取访问权限。
CLI
如果会话处于不活跃状态,gcloud CLI 会将您退出。在 gdcloud CLI 将您退出登录后,如果您尝试运行命令,则会收到授权错误:
Error: error when creating kube client: unable to create k8sclient: Unauthorized
如需重新登录 gdcloud CLI,请按照登录中的 CLI 步骤操作。
kubectl
gdcloud CLI 会在会话处于不活动状态一段时间后使您的 kubeconfig 文件过期。如果您在不活动一段时间后尝试运行 kubectl 命令,则会收到授权错误:
error: You must be logged in to the server (Unauthorized)
如需重新登录并使用 kubeconfig 文件,请按照登录中的 CLI 步骤操作。每次会话超时后,您都必须重新生成 kubeconfig 文件。