6.4. 为使用 HCP 集群的 ROSA 创建中断特征凭证


作为带有 HCP 集群所有者的 ROSA,您可以使用 breakcommands 凭证创建临时管理客户端凭证来访问配置了自定义 OpenID Connect (OIDC)令牌签发者的集群。创建 breakfish 凭证会生成新的 cluster-admin kubeconfig 文件。kubeconfig 文件包含关于 CLI 用来将客户端连接到正确的集群和 API 服务器的集群的信息。您可以使用新生成的 kubeconfig 文件来允许使用 HCP 集群访问 ROSA。

先决条件

  • 您已创建了启用了外部身份验证的 HCP 集群的 ROSA。如需更多信息,请参阅使用外部身份验证供应商 的 HCP 集群创建 ROSA
  • 您已创建了外部身份验证供应商。如需更多信息,请参阅创建外部身份验证供应商
  • 具有集群管理员权限的帐户

流程

  1. 使用以下命令之一创建中断特征凭证:

    • 要使用互动命令界面以交互方式指定自定义设置来创建中断特征凭证,请运行以下命令:

      $ rosa create break-glass-credential -c <cluster_name> -i 1
      1
      将 <cluster_name> 替换为集群的名称。

      这个命令启动交互式 CLI 进程:

      输出示例

      I: Enabling interactive mode
      ? Username (optional): 1
      ? Expiration duration (optional): 2
      I: Successfully created a break glass credential for cluster 'ac-hcp-test'.

      1
      如果留空,则 用户名中的值 将具有随机生成的用户名值。
      2
      中断可视化凭证的最小有效期为 10 分钟,最大有效期为 24 小时。如果留空,则 expiration 持续时间值默认为 24 小时。
    • 使用指定的值,为名为 mycluster 的集群创建一个 break trait 凭证:

      $ rosa create break-glass-credential -c mycluster --username test-username --expiration 1h
  2. 运行以下命令,列出适用于名为 mycluster 的集群可用的 break space 凭证 ID、状态和关联的用户:

    $ rosa list break-glass-credential -c mycluster

    输出示例

    ID                                USERNAME    STATUS
    2a7jli9n4phe6c02ul7ti91djtv2o51d  test-user   issued

    注意

    您还可以通过在命令中添加 -o json 参数来查看 JSON 输出中的凭证。

  3. 要查看 breakuildDefaults 凭证的状态,请运行以下命令,将 <break_glass_credential_id> 替换为 breakerior 凭证 ID:

    $ rosa describe break-glass-credential <break_glass_credential_id> -c <cluster_name>

    输出示例

    ID:                                    2a7jli9n4phe6c02ul7ti91djtv2o51d
    Username:                              test-user
    Expire at:                             Dec 28 2026 10:23:05 EDT
    Status:                                issued

    以下是可能的 Status 字段值列表:

    • 签发 了 breakinitial 凭证,并可供使用。
    • 已过期的 breakinitial 凭证已过期,无法再使用。
    • 失败,导致凭证创建失败。在这种情况下,您会收到一个服务日志,详细描述了故障。如需有关服务日志的更多信息,请参阅访问 Red Hat OpenShift Service on AWS 集群的服务日志。有关联系红帽支持以获取帮助的步骤,请参阅 获取支持
    • awaiting_revocation The breakuildDefaults credential 当前正在撤销,这意味着无法使用它。
    • 已撤销 的 break zones 凭证已被撤销,无法再使用。
  4. 要检索 kubeconfig,请运行以下命令:

    • 创建 kubeconfigs 目录:

      $ mkdir ~/kubeconfigs
    • 导出新生成的 kubeconfig 文件,将 <cluster_name> 替换为集群的名称:

      $ export CLUSTER_NAME=<cluster_name> && export KUBECONFIG=~/kubeconfigs/break-glass-${CLUSTER_NAME}.kubeconfig
    • 查看 kubeconfig

      $ rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig

      输出示例

      apiVersion: v1
      clusters:
      - cluster:
          server: <server_url>
        name: cluster
      contexts:
      - context:
          cluster: cluster
          namespace: default
          user: test-username
        name: admin
      current-context: admin
      kind: Config
      preferences: {}
      users:
      - name: test-user
        user:
          client-certificate-data: <client-certificate-data> 1
          client-key-data: <client-key-data> 2

      1
      client-certificate 包含由 Kubernetes 证书颁发机构(CA)签名的用户的证书。
      2
      client-key 包含签署客户端证书的密钥。
  5. 可选: 要保存 kubeconfig,请运行以下命令:

    $ rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig > $KUBECONFIG

其他资源

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.