第 8 章 ROSA CLI


8.1. ROSA CLI 入门

8.1.1. 关于 ROSA CLI

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

8.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

      输出示例

      <aws_account_id>    arn:aws:iam::<aws_account_id>:user/<username>  <aws_user_id>

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

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

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

    $ rosa version

    输出示例

    1.2.15
    Your ROSA CLI is up to date.

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

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

      1. 为 Bash 生成 rosa 选项卡补全配置文件,并将它保存到 /etc/bash_completion.d/ 目录中:

        # rosa completion bash > /etc/bash_completion.d/rosa
      2. 打开新终端以激活配置。
    • 在 macOS 主机上为 Bash 启用持久性 tab 自动完成功能:

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

        $ rosa completion bash > /usr/local/etc/bash_completion.d/rosa
      2. 打开新终端以激活配置。
    • 为 Zsh 启用持久性 tab 自动完成功能:

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

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

        $ rosa completion zsh > "${fpath[1]}/_rosa"
      3. 打开新终端以激活配置。
    • 为 fish 启用持久性 tab 自动完成功能:

      1. 为 fish 生成 rosa 选项卡补全配置文件,并将它保存到 ~/.config/fish/completions/ 目录中:

        $ rosa completion fish > ~/.config/fish/completions/rosa.fish
      2. 打开新终端以激活配置。
    • 为 PowerShell 启用持久性 tab 自动完成功能:

      1. 为 PowerShell 生成 rosa 选项卡补全配置文件,并将它保存到名为 rosa.ps1 的文件中:

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

    有关配置 rosa tab 自动完成功能的更多信息,请通过运行 rosa completion --help 命令来查看帮助菜单。

8.1.3. 配置 ROSA CLI

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

8.1.3.1. login

登录到您的红帽帐户,将凭证保存到 rosa 配置文件。登录时您必须提供令牌。您可以从 ROSA 令牌页面 复制令牌

ROSA CLI (rosa)按以下优先级顺序查找令牌:

  1. 命令行参数
  2. ROSA_TOKEN 环境变量
  3. rosa 配置文件
  4. 通过命令行提示符进行交互

语法

$ rosa login [arguments]

表 8.1. 参数
选项定义

--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

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--profile

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

8.1.3.2. logout

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

语法

$ rosa logout [arguments]

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--profile

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

8.1.3.3. 验证权限

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

语法

$ rosa verify permissions [arguments]

注意

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

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--region

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

--profile

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

例子

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

$ rosa verify permissions

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

$ rosa verify permissions --region=us-west-2

8.1.3.4. 验证配额

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

语法

$ rosa verify quota [arguments]

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--region

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

--profile

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

例子

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

$ rosa verify quota

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

$ rosa verify quota --region=us-west-2

8.1.3.5. 下载 rosa

下载 rosa CLI 的最新版本。

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

语法

$ rosa download rosa [arguments]

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

8.1.3.6. 下载 oc

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

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

语法

$ rosa download oc [arguments]

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

示例

下载 oc 客户端工具:

$ rosa download oc

8.1.3.7. 验证 oc

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

语法

$ rosa verify oc [arguments]

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

示例

验证 oc 客户端工具:

$ rosa verify oc

8.1.4. 初始化 ROSA

只有在使用非STS 时,使用 init 命令在 AWS (ROSA)上初始化 Red Hat OpenShift Service。

8.1.4.1. init

执行一系列检查,以验证您是否已准备好部署 ROSA 集群。

检查列表包括:

  • 检查您是否已登录(请参阅 登录
  • 检查 AWS 凭证是否有效
  • 检查您的 AWS 权限是否有效(请参阅验证权限
  • 检查 AWS 配额级别是否足够高(请参阅验证配额
  • 运行集群模拟,以确保集群创建可以如预期执行
  • 检查您的 AWS 帐户中已创建了 osdCcsAdmin 用户
  • 检查 OpenShift Container Platform 命令行工具是否在您的系统中可用

语法

$ rosa init [arguments]

表 8.9. 参数
选项定义

--region

验证配额和权限的 AWS 区域(字符串)。此值仅在运行 init 命令时覆盖 AWS_REGION 环境变量,但不会更改 AWS CLI 配置。

--delete

删除在 init 命令期间应用到 AWS 帐户的堆栈模板。

--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

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

--help

显示此命令的帮助信息。

--debug

启用调试模式。

--profile

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

例子

将您的 AWS 帐户配置为允许 ROSA 集群:

$ rosa init

使用预先存在的 OpenShift Cluster Manager 凭证配置新的 AWS 帐户:

$ rosa init --token=$OFFLINE_ACCESS_TOKEN

8.1.5. 使用 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 离线令牌初始化 rosahttps://console.redhat.com/openshift/token/rosa

    $ rosa init --token=<token>
  2. 创建 ROSA 集群:

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

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

    $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

8.1.6. 更新 ROSA CLI

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

流程

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

    $ rosa version

    输出示例

    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/

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

    $ rosa download rosa

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

  3. 提取存档的内容:

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

    $ sudo mv rosa /usr/local/bin/rosa

验证

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

    $ rosa version

    输出示例

    1.2.15
    Your ROSA CLI is up to date.

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.