第 7 章 ROSA CLI


7.1. ROSA CLI 入门

7.1.1. 关于 ROSA CLI

使用 Red Hat OpenShift Service on AWS (ROSA)命令行界面(CLI),使用 rosa 命令创建、更新、管理和删除 ROSA 集群和资源。

7.1.2. 设置 ROSA CLI

使用以下步骤在安装主机上安装和配置 ROSA CLI (rosa)。

流程

  1. 安装和配置最新的 AWS CLI (aws)。

    1. 按照 AWS 命令行界面文档为您的操作系统安装和配置 AWS CLI。

      .aws/credentials 文件中指定 aws_access_key_idaws_secret_access_keyregion。请参阅 AWS 文档中的 AWS 配置基础知识

      注意

      您可以选择使用 AWS_DEFAULT_REGION 环境变量设置默认 AWS 区域。

    2. 查询 AWS API 以验证是否已安装并配置了 AWS CLI:

      $ aws sts get-caller-identity  --output text
      Copy to Clipboard Toggle word wrap

      输出示例

      <aws_account_id>    arn:aws:iam::<aws_account_id>:user/<username>  <aws_user_id>
      Copy to Clipboard Toggle word wrap

  2. 从 OpenShift Cluster Manager 上的 Downloads 页面下载您的操作系统的 ROSA CLI (rosa)的最新版本。
  3. 从下载的存档中提取 rosa 二进制文件。以下示例从 Linux tar 归档中提取二进制文件:

    $ tar xvf rosa-linux.tar.gz
    Copy to Clipboard Toggle word wrap
  4. 在您的路径中添加 rosa。在以下示例中,/usr/local/bin 目录包含在用户的路径中:

    $ sudo mv rosa /usr/local/bin/rosa
    Copy to Clipboard Toggle word wrap
  5. 通过查询 rosa 版本来验证 ROSA CLI 是否已正确安装:

    $ rosa version
    Copy to Clipboard Toggle word wrap

    输出示例

    1.2.15
    Your ROSA CLI is up to date.
    Copy to Clipboard Toggle word wrap

  6. 可选:为 ROSA CLI 启用 tab 自动完成功能。启用 tab 自动完成功能后,您可以按 Tab 键两次来自动完成子命令并接收命令建议:

    • 在 Linux 主机上为 Bash 启用持久性 tab 自动完成功能:

      1. 为 Bash 生成 rosa tab 自动完成配置文件,并将其保存到 /etc/bash_completion.d/ 目录中:

        # rosa completion bash > /etc/bash_completion.d/rosa
        Copy to Clipboard Toggle word wrap
      2. 打开一个新的终端来激活配置。
    • 在 macOS 主机上为 Bash 启用持久性 tab 自动完成功能:

      1. 为 Bash 生成 rosa tab 自动完成配置文件,并将其保存到 /usr/local/etc/bash_completion.d/ 目录中:

        $ rosa completion bash > /usr/local/etc/bash_completion.d/rosa
        Copy to Clipboard Toggle word wrap
      2. 打开一个新的终端来激活配置。
    • 为 Zsh 启用持久性标签页自动完成功能:

      1. 如果没有为您的 Zsh 环境启用 tab 自动完成功能,请运行以下命令启用它:

        $ echo "autoload -U compinit; compinit" >> ~/.zshrc
        Copy to Clipboard Toggle word wrap
      2. 为 Zsh 生成 rosa tab 自动完成配置文件,并将其保存到功能路径中的第一个目录中:

        $ rosa completion zsh > "${fpath[1]}/_rosa"
        Copy to Clipboard Toggle word wrap
      3. 打开一个新的终端来激活配置。
    • 为 fish 启用持久的 tab 自动完成功能:

      1. 为 fish 生成 rosa tab 自动完成配置文件,并将其保存到 ~/.config/fish/completions/ 目录中:

        $ rosa completion fish > ~/.config/fish/completions/rosa.fish
        Copy to Clipboard Toggle word wrap
      2. 打开一个新的终端来激活配置。
    • 为 PowerShell 启用持久性标签页自动完成功能:

      1. 为 PowerShell 生成 rosa tab 自动完成配置文件,并将它保存到名为 rosa.ps1 的文件中:

        PS> rosa completion powershell | Out-String | Invoke-Expression
        Copy to Clipboard Toggle word wrap
      2. Source 来自您的 PowerShell 配置集中的 rosa.ps1 文件。
    注意

    有关配置 rosa tab 自动完成的更多信息,请参阅 帮助菜单,运行 rosa completion --help 命令。

7.1.3. 配置 ROSA CLI

使用以下命令配置 Red Hat OpenShift Service on AWS (ROSA) CLI rosa

7.1.3.1. login

您可以使用多种方法通过 Red Hat OpenShift Service on AWS (ROSA) CLI (rosa)登录您的红帽帐户。下面详细介绍这些方法。

7.1.3.1.1. 使用红帽单点登录验证 ROSA CLI

您可以使用红帽单点登录登录到 ROSA CLI (rosa)。红帽建议在 Red Hat Single sign-on 中使用 rosa 命令行工具,而不是使用离线身份验证令牌。

离线身份验证令牌长期存在,存储在您的操作系统上,且无法撤销。这些因素会增加整体安全风险以及未授权访问您的帐户的可能性。

或者,使用红帽单点登录方法进行身份验证会自动发送 rosa 实例,该刷新令牌有效期为 10 小时。这种独特的临时授权代码增强了安全性,并降低了未授权访问的风险。

重要

使用红帽单点登录进行身份验证的方法不会破坏依赖于离线令牌的现有自动化。红帽建议将 服务帐户 用于自动化目的。如果您仍然需要将离线令牌用于自动化或其他目的,您可以从 OpenShift Cluster Manager API Token 页面下载 OpenShift Cluster Manager API 令牌。

使用以下方法之一验证:

  • 如果您的系统有 Web 浏览器,请参阅"使用单点登录授权代码"部分的 ROSA CLI 部分来使用 Red Hat 单点登录进行身份验证。
  • 如果您在没有 Web 浏览器的情况下使用容器、远程主机或其他环境,请参阅"使用单点登录代码"部分验证 ROSA CLI 部分。
  • 要使用离线令牌验证 ROSA CLI,请参阅"授权使用离线令牌的 ROSA CLI"部分。
注意

ROSA CLI (rosa)版本 1.2.36 或更高版本支持单点登录授权。

7.1.3.1.2. 使用单点登录授权代码验证 ROSA CLI
  • 要使用 Red Hat 单点登录授权代码登录到 ROSA CLI (rosa),请运行以下命令:

    语法

    $ rosa login --use-auth-code
    Copy to Clipboard Toggle word wrap

    运行此命令会将您重定向到 Red Hat Single login-on 登录。使用您的 Red Hat 登录或电子邮件登录。

    Expand
    表 7.1. 从父命令继承的可选参数
    选项定义

    --help

    显示此命令的帮助信息。

    --debug

    启用调试模式。

    要切换帐户,请从 https://sso.redhat.com 注销,并在尝试再次登录前在终端中运行 rosa logout 命令。

7.1.3.1.3. 使用单点登录设备代码验证 ROSA CLI

如果您在没有 Web 浏览器的情况下使用容器、远程主机和其他环境,您可以使用红帽单点登录设备代码来保护身份验证。要做到这一点,您必须使用具有 Web 浏览器批准登录的第二个设备。

注意

ROSA CLI (rosa)版本 1.2.36 或更高版本支持单点登录授权。

  • 要使用 Red Hat 单点登录设备代码登录到 ROSA CLI (rosa),请运行以下命令:

    语法

    $ rosa login --use-device-code
    Copy to Clipboard Toggle word wrap

    运行此命令会将您重定向到红帽 SSO 登录,并提供登录代码。

    Expand
    表 7.2. 从父命令继承的可选参数
    选项定义

    --help

    显示此命令的帮助信息。

    --debug

    启用调试模式。

    要切换帐户,请从 https://sso.redhat.com 注销,并在尝试再次登录前在终端中运行 rosa logout 命令。

7.1.3.1.4. 使用离线令牌验证 ROSA CLI

登录到您的红帽帐户,将凭据保存到 rosa 配置文件。

注意

要将离线令牌用于自动化目的,您可以从 OpenShift Cluster Manager API Token 页面下载 OpenShift Cluster Manager API 令牌。要将服务帐户用于自动化目的,请参阅 Service Accounts 页面。

重要

红帽建议将服务帐户用于自动化目的。

  • 要使用红帽离线令牌登录到 ROSA CLI (rosa),请运行以下命令:

    语法

    $ rosa login [arguments]
    Copy to Clipboard Toggle word wrap

    Expand
    表 7.3. 参数
    选项定义

    --client-id

    OpenID 客户端标识符(字符串)。默认: cloud-services

    --client-secret

    OpenID 客户端 secret (字符串)。

    --insecure

    启用与服务器的不安全通信。这禁用 TLS 证书和主机名验证。

    --scope

    OpenID 范围(字符串)。如果使用这个选项,它将替换默认的范围。这可以重复多次以指定多个范围。默认:openid

    --token

    访问或刷新令牌(字符串)。

    --token-url

    OpenID 令牌 URL (字符串)。默认: https://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/token

    Expand
    表 7.4. 从父命令继承的可选参数
    选项定义

    --help

    显示此命令的帮助信息。

    --debug

    启用调试模式。

    --profile

    指定来自您的凭证文件中的 AWS 配置集(字符串)。

7.1.3.2. logout

rosa 注销。注销也会移除 rosa 配置文件。

语法

$ rosa logout [arguments]
Copy to Clipboard Toggle word wrap

Expand
表 7.5. 从父命令继承的可选参数
选项定义

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--profile

指定来自您的凭证文件中的 AWS 配置集(字符串)。

7.1.3.3. 验证权限

验证创建 ROSA 集群所需的 AWS 权限是否已正确配置:

语法

$ rosa verify permissions [arguments]
Copy to Clipboard Toggle word wrap

注意

此命令只验证没有使用 AWS 安全令牌服务 (STS) 的集群的权限。

Expand
表 7.6. 从父命令继承的可选参数
选项定义

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--region

在其中运行命令的 AWS 区域(字符串)。这个值会覆盖 AWS_REGION 环境变量。

--profile

指定来自您的凭证文件中的 AWS 配置集(字符串)。

例子

验证 AWS 权限是否已正确配置:

$ rosa verify permissions
Copy to Clipboard Toggle word wrap

验证 AWS 权限是否在特定区域中正确配置:

$ rosa verify permissions --region=us-west-2
Copy to Clipboard Toggle word wrap

7.1.3.4. 验证配额

验证您的默认区域是否正确配置了 AWS 配额。

语法

$ rosa verify quota [arguments]
Copy to Clipboard Toggle word wrap

Expand
表 7.7. 从父命令继承的可选参数
选项定义

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--region

在其中运行命令的 AWS 区域(字符串)。这个值会覆盖 AWS_REGION 环境变量。

--profile

指定来自您的凭证文件中的 AWS 配置集(字符串)。

例子

验证默认区域是否正确配置了 AWS 配额:

$ rosa verify quota
Copy to Clipboard Toggle word wrap

验证 AWS 配额是否在特定区域中正确配置:

$ rosa verify quota --region=us-west-2
Copy to Clipboard Toggle word wrap

7.1.3.5. 下载 rosa

下载 rosa CLI 的最新兼容版本。

下载 rosa 后,提取存档的内容并将其添加到您的路径中。

语法

$ rosa download rosa [arguments]
Copy to Clipboard Toggle word wrap

Expand
表 7.8. 从父命令继承的可选参数
选项定义

--help

显示此命令的帮助信息。

--debug

启用调试模式。

7.1.3.6. 下载 oc

下载 OpenShift Container Platform CLI (oc) 的最新版本。

下载 oc 后,您必须提取存档的内容并将其添加到您的路径中。

语法

$ rosa download oc [arguments]
Copy to Clipboard Toggle word wrap

Expand
表 7.9. 从父命令继承的可选参数
选项定义

--help

显示此命令的帮助信息。

--debug

启用调试模式。

示例

下载 oc 客户端工具:

$ rosa download oc
Copy to Clipboard Toggle word wrap

7.1.3.7. 验证 oc

验证 OpenShift Container Platform CLI (oc)是否已正确安装。

语法

$ rosa verify oc [arguments]
Copy to Clipboard Toggle word wrap

Expand
表 7.10. 从父命令继承的可选参数
选项定义

--help

显示此命令的帮助信息。

--debug

启用调试模式。

示例

验证 oc 客户端工具:

$ rosa verify oc
Copy to Clipboard Toggle word wrap

7.1.4. 使用 Bash 脚本

以下是如何将 Bash 脚本与 Red Hat OpenShift Service on AWS (ROSA) CLI 搭配使用的示例工作流,它演示了如何在 AWS (ROSA) CLI 中使用 Bash 脚本。

先决条件

确保 AWS 凭证已作为以下选项之一可用:

  • AWS 配置集
  • 环境变量 (AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY)

流程

  1. 使用来自 Red Hat OpenShift Cluster Manager 的 Red Hat OpenShift Cluster Manager 离线令牌 初始化 rosa

    $ rosa init --token=<token>
    Copy to Clipboard Toggle word wrap
  2. 创建 ROSA 集群:

    $ rosa create cluster --cluster-name=<cluster_name>
    Copy to Clipboard Toggle word wrap
  3. 添加身份提供程序 (IDP):

    $ rosa create idp --cluster=<cluster_name> --type=<identity_provider> [arguments]
    Copy to Clipboard Toggle word wrap
  4. 添加 dedicated-admin 用户:

    $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
    Copy to Clipboard Toggle word wrap

7.1.5. 更新 ROSA CLI

更新至 ROSA CLI 的最新兼容版本(rosa)。

流程

  1. 确认新版本的 ROSA CLI (rosa)可用:

    $ rosa version
    Copy to Clipboard Toggle word wrap

    输出示例

    1.2.12
    There is a newer release version '1.2.15', please consider updating: https://mirror.openshift.com/pub/openshift-v4/clients/rosa/latest/
    Copy to Clipboard Toggle word wrap

  2. 下载 ROSA CLI 的最新兼容版本:

    $ rosa download rosa
    Copy to Clipboard Toggle word wrap

    此命令将名为 rosa114.tar.gz 的存档下载到当前目录中。文件的确切名称取决于您的操作系统和系统架构。

  3. 提取存档内容:

    $ tar -xzf rosa-linux.tar.gz
    Copy to Clipboard Toggle word wrap
  4. 通过将提取的文件移至您的路径中来安装 ROSA CLI 的新版本。在以下示例中,/usr/local/bin 目录包含在用户的路径中:

    $ sudo mv rosa /usr/local/bin/rosa
    Copy to Clipboard Toggle word wrap

验证

  • 验证是否安装了新版本的 ROSA。

    $ rosa version
    Copy to Clipboard Toggle word wrap

    输出示例

    1.2.15
    Your ROSA CLI is up to date.
    Copy to Clipboard Toggle word wrap

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat