第 7 章 ROSA CLI
7.1. ROSA CLI 入门 复制链接链接已复制到粘贴板!
了解如何安装、配置和更新 ROSA 命令行界面(CLI) (rosa)。您可以使用 ROSA CLI 创建、更新、管理和删除 Red Hat OpenShift Service on AWS 集群和资源。
7.1.1. 设置 ROSA CLI 复制链接链接已复制到粘贴板!
在用来运行集群命令的计算机上放置 ROSA 命令行界面(CLI) (rosa)。
流程
安装和配置最新的 AWS CLI (
aws)。按照 AWS 命令行界面文档为您的操作系统安装和配置 AWS CLI。
将
aws_access_key_id、aws_secret_access_key和region放置在.aws/credentials文件中。请参阅 AWS 文档中的 AWS 配置基础知识。注意您可以选择使用
AWS_DEFAULT_REGION环境变量设置默认 AWS 区域。查询 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>
-
从 OpenShift Cluster Manager 上的 Downloads 页面
下载您的操作系统的ROSA 命令行界面(CLI)的最新版本。 从下载的存档中提取
rosa二进制文件。以下示例从 Linux tar 归档中提取二进制文件:$ tar xvf rosa-linux.tar.gz在您的路径中添加
rosa。在以下示例中,/usr/local/bin目录包含在用户的路径中:$ sudo mv rosa /usr/local/bin/rosa通过查询
rosa版本来验证 ROSA CLI 是否已正确安装:$ rosa version输出示例
1.2.15 Your ROSA CLI is up to date.可选:为 ROSA CLI 打开 tab 自动完成功能。按
Tab键两次来完成子命令或查看提示:在 Linux 主机上为 Bash 启用持久性 tab 自动完成功能:
为 Bash 生成
rosatab 自动完成配置文件,并将其保存到/etc/bash_completion.d/目录中:# rosa completion bash > /etc/bash_completion.d/rosa- 打开一个新的终端来激活配置。
在 macOS 主机上为 Bash 启用持久性 tab 自动完成功能:
为 Bash 生成
rosatab 自动完成配置文件,并将其保存到/usr/local/etc/bash_completion.d/目录中:$ rosa completion bash > /usr/local/etc/bash_completion.d/rosa- 打开一个新的终端来激活配置。
为 Zsh 启用持久性标签页自动完成功能:
如果没有为您的 Zsh 环境启用 tab 自动完成功能,请运行以下命令启用它:
$ echo "autoload -U compinit; compinit" >> ~/.zshrc为 Zsh 生成
rosatab 自动完成配置文件,并将其保存到功能路径中的第一个目录中:$ rosa completion zsh > "${fpath[1]}/_rosa"- 打开一个新的终端来激活配置。
为 fish 启用持久的 tab 自动完成功能:
为 fish 生成
rosatab 自动完成配置文件,并将其保存到~/.config/fish/completions/目录中:$ rosa completion fish > ~/.config/fish/completions/rosa.fish- 打开一个新的终端来激活配置。
为 PowerShell 启用持久性标签页自动完成功能:
为 PowerShell 生成
rosatab 自动完成配置文件,并将它保存到名为rosa.ps1的文件中:PS> rosa completion powershell | Out-String | Invoke-Expression-
Source 来自您的 PowerShell 配置集中的
rosa.ps1文件。
注意有关配置
rosatab 自动完成的更多信息,请参阅 帮助菜单,运行rosa completion --help命令。
7.1.2. 关于登录到 ROSA CLI 复制链接链接已复制到粘贴板!
您可以使用 Red Hat Single sign-on 或离线身份验证令牌登录到 ROSA 命令行界面(CLI) (rosa)。红帽建议在 Red Hat 单点登录中使用 ROSA CLI,而不是使用离线身份验证令牌。
离线身份验证令牌长期存在,存储在您的操作系统上,且无法撤销。这些因素会增加整体安全风险以及未授权访问您的帐户的可能性。
或者,使用红帽单点登录方法进行身份验证会自动发送 rosa 实例,该刷新令牌有效期为 10 小时。这种独特的临时授权代码增强了安全性,并降低了未授权访问的风险。
使用红帽单点登录进行身份验证的方法不会破坏依赖于离线令牌的现有自动化。红帽建议将服务帐户用于自动化目的。如果您仍然需要将离线令牌用于自动化或其他目的,您可以从 Red Hat OpenShift Cluster Manager 下载 pull secret。
7.1.2.1. 身份验证方法 复制链接链接已复制到粘贴板!
您可以使用以下方法之一进行身份验证:
- 单点登录授权代码 :如果您的系统有 Web 浏览器,则使用此方法。ROSA CLI 版本 1.2.36 或更高版本支持单点登录授权。
- 单点登录设备代码 :如果您使用容器、远程主机或其他没有 Web 浏览器的环境,则使用此方法。ROSA CLI 版本 1.2.36 或更高版本支持单点登录授权。
- 离线令牌 :如果您需要将离线令牌用于自动化或其他目的,请使用此方法。红帽建议将服务帐户用于自动化目的。
7.1.3. 使用单点登录授权代码验证 ROSA CLI 复制链接链接已复制到粘贴板!
您可以使用红帽单点登录授权代码通过 ROSA CLI 登录到您的帐户。
先决条件
- 在您的系统上有一个 web 浏览器可用。
- 已安装 ROSA CLI 版本 1.2.36 或更高版本。
流程
要使用 Red Hat 单点登录授权代码登录到 ROSA 命令行界面(CLI) (
rosa),请运行以下命令:语法
$ rosa login --use-auth-code运行此命令会将您重定向到 Red Hat Single login-on 登录。使用您的 Red Hat 登录或电子邮件登录。
Expand 表 7.1. 从父命令+ 继承的可选参数 选项 定义 --help
显示此命令的帮助信息。
--debug
启用调试模式。
验证
要切换帐户,请从 https://sso.redhat.com 注销,并在尝试再次登录前在终端中运行 rosa logout 命令。
7.1.4. 使用单点登录设备代码验证 ROSA CLI 复制链接链接已复制到粘贴板!
如果您在没有 Web 浏览器的情况下使用容器、远程主机和其他环境,您可以使用红帽单点登录设备代码来保护身份验证。要做到这一点,您必须使用具有 Web 浏览器批准登录的第二个设备。
先决条件
-
已安装 ROSA 命令行界面(CLI)
版本1.2.36 或更高版本。 - 您可以使用 Web 浏览器访问第二个设备。
流程
要使用 Red Hat 单点登录设备代码登录到 ROSA CLI,请运行以下命令:
$ rosa login --use-device-code运行此命令会将您重定向到 Red Hat SSO 登录并提供登录代码。
Expand 表 7.2. 从父命令继承的可选参数 选项 定义 --help
显示此命令的帮助信息。
--debug
启用调试模式。
验证
要切换帐户,请从 https://sso.redhat.com 注销,并在尝试再次登录前在终端中运行 rosa logout 命令。
7.1.5. 使用离线令牌验证 ROSA CLI 复制链接链接已复制到粘贴板!
登录到您的红帽帐户,将凭据保存到 rosa 配置文件。
要将离线令牌用于自动化目的,您可以从 Red Hat OpenShift Cluster Manager 下载 pull secret。要将服务帐户用于自动化目的,请参阅 Service Accounts 页面。
红帽建议将服务帐户用于自动化目的。
流程
要使用红帽离线令牌登录到 ROSA 命令行界面(CLI) (
rosa),请运行以下命令:语法
$ rosa login [arguments]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/tokenExpand 表 7.4. 从父命令继承的可选参数 选项 定义 --help
显示此命令的帮助信息。
--debug
启用调试模式。
--profile
指定来自您的凭证文件中的 AWS 配置集(字符串)。
7.1.6. 从 ROSA CLI 注销 复制链接链接已复制到粘贴板!
从 rosa 注销。注销也会移除 rosa 配置文件。
流程
运行以下命令,从
rosa会话注销:$ rosa logout [arguments]Expand 表 7.5. 从父命令继承的可选参数 选项 定义 --help
显示此命令的帮助信息。
--debug
启用调试模式。
--profile
指定来自您的凭证文件中的 AWS 配置集(字符串)。
7.1.7. 使用 ROSA CLI 验证 AWS 设置 复制链接链接已复制到粘贴板!
使用 ROSA 命令行界面(CLI) (rosa)验证 AWS 权限和配额。
7.1.7.1. 验证权限 复制链接链接已复制到粘贴板!
验证在 AWS 集群上创建 Red Hat OpenShift Service 所需的 AWS 权限是否已正确配置:
语法
$ rosa verify permissions [arguments]
此命令只验证没有使用 AWS 安全令牌服务 (STS) 的集群的权限。
| 选项 | 定义 |
|---|---|
| --help | 显示此命令的帮助信息。 |
| --debug | 启用调试模式。 |
| --region |
在其中运行命令的 AWS 区域(字符串)。这个值会覆盖 |
| --profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 |
验证 AWS 权限是否已正确配置:
示例
$ rosa verify permissions
验证 AWS 权限是否在特定区域中正确配置:
示例
$ rosa verify permissions --region=us-west-2
7.1.7.2. 验证配额 复制链接链接已复制到粘贴板!
验证您的默认区域是否正确配置了 AWS 配额。
语法
$ rosa verify quota [arguments]
| 选项 | 定义 |
|---|---|
| --help | 显示此命令的帮助信息。 |
| --debug | 启用调试模式。 |
| --region |
在其中运行命令的 AWS 区域(字符串)。这个值会覆盖 |
| --profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 |
验证默认区域是否正确配置了 AWS 配额:
示例
$ rosa verify quota
验证 AWS 配额是否在特定区域中正确配置:
示例
$ rosa verify quota --region=us-west-2
7.1.8. 使用 ROSA CLI 下载 CLI 工具 复制链接链接已复制到粘贴板!
使用 ROSA 命令行界面(CLI) ( rosa )下载并验证rosa和 oc CLI 工具。
7.1.8.1. 下载 rosa 复制链接链接已复制到粘贴板!
下载 ROSA CLI 的最新兼容版本。
下载 ROSA CLI 后,提取存档的内容并将其添加到您的路径中。
语法
$ rosa download rosa [arguments]
| 选项 | 定义 |
|---|---|
| --help | 显示此命令的帮助信息。 |
| --debug | 启用调试模式。 |
7.1.8.2. 下载 oc 复制链接链接已复制到粘贴板!
下载 OpenShift CLI 的最新兼容版本(oc)。
下载 oc 后,您必须提取存档的内容并将其添加到您的路径中。
语法
$ rosa download oc [arguments]
| 选项 | 定义 |
|---|---|
| --help | 显示此命令的帮助信息。 |
| --debug | 启用调试模式。 |
下载 oc 客户端工具:
示例
$ rosa download oc
7.1.8.3. 验证 oc 复制链接链接已复制到粘贴板!
验证 OpenShift CLI (oc)是否已正确安装。
语法
$ rosa verify oc [arguments]
| 选项 | 定义 |
|---|---|
| --help | 显示此命令的帮助信息。 |
| --debug | 启用调试模式。 |
验证 oc 客户端工具:
示例
$ rosa verify oc
7.1.9. 更新 ROSA CLI 复制链接链接已复制到粘贴板!
将 ROSA 命令行界面(CLI) (rosa)更新至与集群搭配使用的最新版本。
流程
确认新版本的 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/下载 ROSA CLI 的最新兼容版本:
$ rosa download rosa此命令将名为
rosa114.tar.gz的存档下载到当前目录中。文件的确切名称取决于您的操作系统和系统架构。提取存档内容:
$ tar -xzf rosa-linux.tar.gz通过将提取的文件移至您的路径中来安装 ROSA CLI 的新版本。在以下示例中,您的路径包含
/usr/local/bin目录:$ sudo mv rosa /usr/local/bin/rosa
验证
验证成功安装了 ROSA CLI 的新版本。
$ rosa version输出示例
1.2.15 Your ROSA CLI is up to date.