登录项目

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

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

登录

如需登录 GDC 控制台或集群,请完成以下步骤:

控制台

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

https://GDC_URL

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

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

CLI

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

在登录之前,请确保执行以下操作:

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

根据您的资源类型完成适用的设置。

Management API 服务器资源

如需为 Management API 服务器生成 kubeconfig 文件,请完成以下步骤:

  1. 设置 MANAGEMENT_API_SERVER 环境变量:

    export MANAGEMENT_API_SERVER="root-admin"
    
  2. 生成 Management 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 集群资源

如需为裸金属 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

如果会话闲置,gdcloud 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 文件。