本页介绍了如何在 Google Distributed Cloud (GDC) 气隙设备中访问和管理工作负载及资源。本文档介绍了如何进行身份验证、为管理 API 服务器和 Kubernetes 集群生成 kubeconfig 文件,以及管理会话不活动状态。了解这些流程有助于确保安全可靠地访问您的项目和工作负载。
通过 GDC 控制台或 gdcloud CLI 访问工作负载。
登录
如需登录 GDC 控制台或集群,请按以下步骤操作:
控制台
在新浏览器标签页中打开以下网址,以访问 GDC 气隙设备用户界面 (UI):
https://GDC_URL
将 GDC_URL
替换为用于访问 GDC 的域名,该域名由基础设施运维人员 (IO) 提供。首次打开任何网址时,如果基础设施运维人员 (IO) 配置了该网页,GDC 会将您重定向到身份提供方登录页面。
例如,在登录名为“org-1”的组织的控制台后,系统会显示以下页面:
CLI
您可以登录有权访问的任何集群。所有集群的 CLI 登录流程都相同。您只需提供集群名称及其相关的 kubeconfig
文件,然后分别登录到每个集群。
在登录之前,请务必完成以下事项:
- 下载 gdcloud CLI 二进制文件并将其安装到您的系统中。如需了解详情,请参阅下载 gdcloud CLI。
- 设置并初始化 gdcloud CLI 默认配置。请务必设置正确的组织网址,该网址用于提取登录配置端点。如需了解详情,请参阅 gdcloud CLI 安装。
- 安装身份验证插件
gdcloud-k8s-auth-plugin
。如需了解详情,请参阅 gcloud CLI 身份验证。
如需登录集群,请完成以下步骤:
对 gdcloud CLI 实例进行身份验证以登录。您可以通过以下两种方式进行身份验证:
标准浏览器登录:从浏览器登录时使用此身份验证流程。
gdcloud auth login
辅助设备登录:如果您的主设备没有可用的浏览器,请使用此身份验证流程。此流程首先在无法访问浏览器的主设备上开始登录,然后继续在可以访问浏览器的辅助设备上完成登录。
在没有浏览器的主设备上启动登录:
gdcloud auth login --no-browser
主设备中的命令会输出另一个
gdcloud
命令,您必须在步骤 c 中在辅助设备上运行该命令。重复登录集群的第 1 步,在辅助设备上下载证书。
在辅助设备上输入在步骤 a 中主设备上显示的命令,完成登录。
此操作会打开一个浏览器,以便登录到配置的身份提供方 (IdP)。提供您在初始 gdcloud CLI 设置期间设置的用户和密码以进行登录。
将您的用户身份
kubeconfig
文件导出为变量:export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
生成包含用户身份信息的
kubeconfig
文件:gdcloud clusters get-credentials CLUSTER_NAME
系统会生成一个包含您的用户身份信息的
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
退出账号
如需退出 GDC 控制台,请执行以下操作:
控制台
点击菜单栏中的
退出。CLI
从 CLI 退出:
gdcloud auth revoke
手动生成 kubeconfig 文件
如果您通过直接调用 KRM API 来使用 kubectl CLI 管理资源,则必须根据您管理的资源类型,为托管资源的集群生成 kubeconfig 文件。请访问相应资源的文档,确定您需要的 kubeconfig 文件。
根据您的资源类型完成适用的设置。
管理 API 服务器资源
完成以下步骤,为 Management API 服务器生成 kubeconfig 文件:
设置
MANAGEMENT_API_SERVER
环境变量:export MANAGEMENT_API_SERVER="root-admin"
生成管理 API 服务器 kubeconfig 文件,并验证凭据:
export KUBECONFIG=${HOME}/${MANAGEMENT_API_SERVER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${MANAGEMENT_API_SERVER:?} [[ $(kubectl config current-context) == *${MANAGEMENT_API_SERVER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
命令
rm ${KUBECONFIG:?}
会移除主目录中的现有 kubeconfig 文件。生成新的 kubeconfig 文件时,系统会覆盖现有文件。如果您不想覆盖或移除现有文件,请将其备份到其他安全位置。
Kubernetes 集群资源
请完成以下步骤,为 Bare Metal Kubernetes 集群生成 kubeconfig 文件:
设置
KUBERNETES_CLUSTER
环境变量:export KUBERNETES_CLUSTER="root-infra"
生成 Kubernetes 集群 kubeconfig 文件,并验证凭据:
export KUBECONFIG=${HOME}/${KUBERNETES_CLUSTER:?}-kubeconfig.yaml rm ${KUBECONFIG:?} gdcloud clusters get-credentials ${KUBERNETES_CLUSTER:?} [[ $(kubectl config current-context) == *${KUBERNETES_CLUSTER:?}* ]] && echo "Success. Your kubeconfig is at $KUBECONFIG" || echo "Failure"
命令
rm ${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 文件。