登录项目

本页介绍了如何在 Google Distributed Cloud (GDC) 气隙设备中访问和管理工作负载及资源。本文档介绍了如何进行身份验证、为管理 API 服务器和 Kubernetes 集群生成 kubeconfig 文件,以及管理会话不活动状态。了解这些流程有助于确保安全可靠地访问您的项目和工作负载。

通过 GDC 控制台或 gdcloud CLI 访问工作负载。

登录

如需登录 GDC 控制台或集群,请按以下步骤操作:

控制台

在新浏览器标签页中打开以下网址,以访问 GDC 气隙设备用户界面 (UI):

https://GDC_URL

GDC_URL 替换为用于访问 GDC 的域名,该域名由基础设施运维人员 (IO) 提供。首次打开任何网址时,如果基础设施运维人员 (IO) 配置了该网页,GDC 会将您重定向到身份提供方登录页面。

例如,在登录名为“org-1”的组织的控制台后,系统会显示以下页面: 控制台显示组织 1 项目的欢迎界面。

CLI

您可以登录有权访问的任何集群。所有集群的 CLI 登录流程都相同。您只需提供集群名称及其相关的 kubeconfig 文件,然后分别登录到每个集群。

在登录之前,请务必完成以下事项:

  • 下载 gdcloud CLI 二进制文件并将其安装到您的系统中。如需了解详情,请参阅下载 gdcloud CLI
  • 设置并初始化 gdcloud CLI 默认配置。请务必设置正确的组织网址,该网址用于提取登录配置端点。如需了解详情,请参阅 gdcloud CLI 安装
  • 安装身份验证插件 gdcloud-k8s-auth-plugin。如需了解详情,请参阅 gcloud CLI 身份验证

如需登录集群,请完成以下步骤:

  1. 对 gdcloud CLI 实例进行身份验证以登录。您可以通过以下两种方式进行身份验证:

    • 标准浏览器登录:从浏览器登录时使用此身份验证流程。

      gdcloud auth login
      
    • 辅助设备登录:如果您的主设备没有可用的浏览器,请使用此身份验证流程。此流程首先在无法访问浏览器的主设备上开始登录,然后继续在可以访问浏览器的辅助设备上完成登录。

      1. 在没有浏览器的主设备上启动登录:

        gdcloud auth login --no-browser
        

        主设备中的命令会输出另一个 gdcloud 命令,您必须在步骤 c 中在辅助设备上运行该命令。

      2. 重复登录集群的第 1 步,在辅助设备上下载证书。

      3. 在辅助设备上输入在步骤 a 中主设备上显示的命令,完成登录。

    此操作会打开一个浏览器,以便登录到配置的身份提供方 (IdP)。提供您在初始 gdcloud CLI 设置期间设置的用户和密码以进行登录。

  2. 将您的用户身份 kubeconfig 文件导出为变量:

    export KUBECONFIG=/tmp/admin-kubeconfig-with-user-identity.yaml
    
  3. 生成包含用户身份信息的 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
    
  4. 如需验证您是否可以访问集群,请使用生成的 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 文件:

  1. 设置 MANAGEMENT_API_SERVER 环境变量:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. 生成管理 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 文件:

  1. 设置 KUBERNETES_CLUSTER 环境变量:

    export KUBERNETES_CLUSTER="root-infra"
    
  2. 生成 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 控制台因您未做任何操作而将您退出登录前两分钟,您会收到一个对话框,其中会提醒您即将退出登录:

控制台界面显示了一个对话框,其中包含一个计时器,显示在因用户无活动而注销用户之前还剩 99 秒。

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

控制台界面显示登录界面,其中包含一个横幅,横幅上显示了有关会话退出的文字:“您已退出系统,因为您的会话处于不活动状态的时间过长。请重新登录,或与您的管理员联系以获取帮助。

如需重新登录 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 文件。