作为 Red Hat OpenShift Service on AWS 集群所有者,您可以使用 breakfish 凭证来创建临时管理客户端凭证,以访问配置了自定义 OpenID Connect (OIDC)令牌签发者的集群。创建 breakfish 凭证会生成新的 cluster-admin kubeconfig 文件。kubeconfig 文件包含 CLI 用来将客户端连接到正确的集群和 API 服务器的集群信息。您可以使用新生成的 kubeconfig 文件来访问 Red Hat OpenShift Service on AWS 集群。
先决条件
集群管理员权限的帐户。
流程
使用以下命令之一创建 breakfish 凭证:
要使用交互式命令接口以交互方式指定自定义设置来创建断镜凭证,请运行以下命令:
$ rosa create break-glass-credential -c <cluster_name> -i 1这个命令启动一个交互式 CLI 进程:
输出示例
I: Enabling interactive mode ? Username (optional): 1 ? Expiration duration (optional): 2 I: Successfully created a break glass credential for cluster 'ac-hcp-test'.
要为名为 mycluster 的集群创建一个带有指定的值的 breakfish 凭证:
$ rosa create break-glass-credential -c mycluster --username test-username --expiration 1h
运行以下命令,列出可用于名为 mycluster 的集群的 breakfish 凭证 ID、状态和关联的用户:
$ rosa list break-glass-credential -c mycluster
输出示例
ID USERNAME STATUS 2a7jli9n4phe6c02ul7ti91djtv2o51d test-user issued
您还可以通过在命令中添加 -o json 参数来查看 JSON 输出中的凭证。
要查看一个 breakfish 凭证的状态,请运行以下命令,将 <break_glass_credential_id> 替换为 breakfish 凭证 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 字段值列表:
出版 该分解器凭据已发布并可使用。
已过期的 breakfish 凭证已过期,不再可以使用。
在这种情况下,您会收到一个服务日志详细描述了失败。如需有关服务日志的更多信息,请参阅访问 Red Hat OpenShift Service on AWS 集群的服务日志。有关联系红帽支持以获取帮助的步骤,请参阅 获取支持。
waiting_revocation The breakfish credential 当前正在撤销,这意味着它不能被使用。
已撤销 了 breakfish 凭据已被撤销,无法再使用。
要检索 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
可选: 要保存 kubeconfig,请运行以下命令:
$ rosa describe break-glass-credential <break_glass_credential_id> -c mycluster --kubeconfig > $KUBECONFIG