第 7 章 ROSA CLI
7.1. ROSA CLI 入门
7.1.1. 关于 ROSA CLI
					使用 ROSA 命令行界面(CLI) (rosa)创建、更新、管理和删除 Red Hat OpenShift Service on AWS 集群和资源。
				
7.1.2. 设置 ROSA CLI
					使用以下步骤在安装主机上安装和配置 ROSA CLI (rosa)。
				
流程
- 安装和配置最新的 AWS CLI ( - aws)。- 按照 AWS 命令行界面文档为您的操作系统安装和配置 AWS CLI。 - 在 - .aws/credentials文件中指定- aws_access_key_id、- aws_secret_access_key和- region。请参阅 AWS 文档中的 AWS 配置基础知识。注意- 您可以选择使用 - AWS_DEFAULT_REGION环境变量设置默认 AWS 区域。
- 查询 AWS API 以验证是否已安装并配置了 AWS CLI: - aws sts get-caller-identity --output text - $ aws sts get-caller-identity --output text- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - <aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id> - <aws_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 
							从 OpenShift Cluster Manager 上的 Downloads 页面下载您的操作系统的 ROSA CLI (rosa)的最新版本。
- 从下载的存档中提取 - rosa二进制文件。以下示例从 Linux tar 归档中提取二进制文件:- tar xvf rosa-linux.tar.gz - $ tar xvf rosa-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在您的路径中添加 - rosa。在以下示例中,- /usr/local/bin目录包含在用户的路径中:- sudo mv rosa /usr/local/bin/rosa - $ sudo mv rosa /usr/local/bin/rosa- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 通过查询 - rosa版本来验证 ROSA CLI 是否已正确安装:- rosa version - $ rosa version- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - 1.2.15 Your ROSA CLI is up to date. - 1.2.15 Your ROSA CLI is up to date.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 可选:为 ROSA CLI 启用 tab 自动完成功能。启用 tab 自动完成功能后,您可以按 - Tab键两次来自动完成子命令并接收命令建议:- 在 Linux 主机上为 Bash 启用持久性 tab 自动完成功能: - 为 Bash 生成 - rosatab 自动完成配置文件,并将其保存到- /etc/bash_completion.d/目录中:- rosa completion bash > /etc/bash_completion.d/rosa - # rosa completion bash > /etc/bash_completion.d/rosa- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 打开一个新的终端来激活配置。
 
- 在 macOS 主机上为 Bash 启用持久性 tab 自动完成功能: - 为 Bash 生成 - rosatab 自动完成配置文件,并将其保存到- /usr/local/etc/bash_completion.d/目录中:- rosa completion bash > /usr/local/etc/bash_completion.d/rosa - $ rosa completion bash > /usr/local/etc/bash_completion.d/rosa- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 打开一个新的终端来激活配置。
 
- 为 Zsh 启用持久性标签页自动完成功能: - 如果没有为您的 Zsh 环境启用 tab 自动完成功能,请运行以下命令启用它: - echo "autoload -U compinit; compinit" >> ~/.zshrc - $ echo "autoload -U compinit; compinit" >> ~/.zshrc- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 为 Zsh 生成 - rosatab 自动完成配置文件,并将其保存到功能路径中的第一个目录中:- rosa completion zsh > "${fpath[1]}/_rosa"- $ rosa completion zsh > "${fpath[1]}/_rosa"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 打开一个新的终端来激活配置。
 
- 为 fish 启用持久的 tab 自动完成功能: - 为 fish 生成 - rosatab 自动完成配置文件,并将其保存到- ~/.config/fish/completions/目录中:- rosa completion fish > ~/.config/fish/completions/rosa.fish - $ rosa completion fish > ~/.config/fish/completions/rosa.fish- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 打开一个新的终端来激活配置。
 
- 为 PowerShell 启用持久性标签页自动完成功能: - 为 PowerShell 生成 - rosatab 自动完成配置文件,并将它保存到名为- rosa.ps1的文件中:- PS> rosa completion powershell | Out-String | Invoke-Expression - PS> rosa completion powershell | Out-String | Invoke-Expression- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 
											Source 来自您的 PowerShell 配置集中的 rosa.ps1文件。
 
 注意- 有关配置 - rosatab 自动完成的更多信息,请参阅 帮助菜单,运行- rosa completion --help命令。
7.1.3. 配置 ROSA CLI
					使用以下命令配置 ROSA 命令行界面(CLI) (rosa)。
				
7.1.3.1. login
						您可以使用几种方法使用 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 - $ rosa login --use-auth-code- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 运行此命令会将您重定向到 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 - $ rosa login --use-device-code- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 运行此命令会将您重定向到红帽 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] - $ rosa login [arguments]- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 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]
$ rosa logout [arguments]| 选项 | 定义 | 
|---|---|
| --help | 显示此命令的帮助信息。 | 
| --debug | 启用调试模式。 | 
| --profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 | 
7.1.3.3. 验证权限
验证在 AWS 集群上创建 Red Hat OpenShift Service 所需的 AWS 权限是否已正确配置:
语法
rosa verify permissions [arguments]
$ rosa verify permissions [arguments]此命令只验证没有使用 AWS 安全令牌服务 (STS) 的集群的权限。
| 选项 | 定义 | 
|---|---|
| --help | 显示此命令的帮助信息。 | 
| --debug | 启用调试模式。 | 
| --region | 
										在其中运行命令的 AWS 区域(字符串)。这个值会覆盖  | 
| --profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 | 
例子
验证 AWS 权限是否已正确配置:
rosa verify permissions
$ rosa verify permissions验证 AWS 权限是否在特定区域中正确配置:
rosa verify permissions --region=us-west-2
$ rosa verify permissions --region=us-west-27.1.3.4. 验证配额
验证您的默认区域是否正确配置了 AWS 配额。
语法
rosa verify quota [arguments]
$ rosa verify quota [arguments]| 选项 | 定义 | 
|---|---|
| --help | 显示此命令的帮助信息。 | 
| --debug | 启用调试模式。 | 
| --region | 
										在其中运行命令的 AWS 区域(字符串)。这个值会覆盖  | 
| --profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 | 
例子
验证默认区域是否正确配置了 AWS 配额:
rosa verify quota
$ rosa verify quota验证 AWS 配额是否在特定区域中正确配置:
rosa verify quota --region=us-west-2
$ rosa verify quota --region=us-west-27.1.3.5. 下载 rosa
						下载 rosa CLI 的最新兼容版本。
					
						下载 rosa 后,提取存档的内容并将其添加到您的路径中。
					
语法
rosa download rosa [arguments]
$ rosa download rosa [arguments]| 选项 | 定义 | 
|---|---|
| --help | 显示此命令的帮助信息。 | 
| --debug | 启用调试模式。 | 
7.1.3.6. 下载 oc
						下载 OpenShift Container Platform CLI (oc) 的最新版本。
					
						下载 oc 后,您必须提取存档的内容并将其添加到您的路径中。
					
语法
rosa download oc [arguments]
$ rosa download oc [arguments]| 选项 | 定义 | 
|---|---|
| --help | 显示此命令的帮助信息。 | 
| --debug | 启用调试模式。 | 
示例
							下载 oc 客户端工具:
						
rosa download oc
$ rosa download oc7.1.3.7. 验证 oc
						验证 OpenShift Container Platform CLI (oc)是否已正确安装。
					
语法
rosa verify oc [arguments]
$ rosa verify oc [arguments]| 选项 | 定义 | 
|---|---|
| --help | 显示此命令的帮助信息。 | 
| --debug | 启用调试模式。 | 
示例
							验证 oc 客户端工具:
						
rosa verify oc
$ rosa verify oc7.1.4. 更新 ROSA CLI
					更新至 ROSA CLI 的最新兼容版本(rosa)。
				
流程
- 确认新版本的 ROSA CLI ( - rosa)可用:- rosa version - $ rosa version- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - 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/ - 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 Copied! - Toggle word wrap Toggle overflow 
- 下载 ROSA CLI 的最新兼容版本: - rosa download rosa - $ rosa download rosa- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 此命令将名为 - rosa114.tar.gz的存档下载到当前目录中。文件的确切名称取决于您的操作系统和系统架构。
- 提取存档内容: - tar -xzf rosa-linux.tar.gz - $ tar -xzf rosa-linux.tar.gz- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 通过将提取的文件移至您的路径中来安装 ROSA CLI 的新版本。在以下示例中, - /usr/local/bin目录包含在用户的路径中:- sudo mv rosa /usr/local/bin/rosa - $ sudo mv rosa /usr/local/bin/rosa- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证
- 验证是否安装了新版本的 ROSA CLI。 - rosa version - $ rosa version- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例 - 1.2.15 Your ROSA CLI is up to date. - 1.2.15 Your ROSA CLI is up to date.- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow