第 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
)。
流程
安装和配置最新的 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_account_id> arn:aws:iam::<aws_account_id>:user/<username> <aws_user_id>
-
从 OpenShift Cluster Manager 的 Downloads 页面下载您的操作系统的 ROSA CLI (
rosa
)的最新版本。 从下载的存档中提取
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 自动完成功能后,您可以按
Tab
键两次来自动完成子命令并接收命令建议:在 Linux 主机上为 Bash 启用持久性 tab 自动完成功能:
为 Bash 生成
rosa
选项卡补全配置文件,并将它保存到/etc/bash_completion.d/
目录中:# rosa completion bash > /etc/bash_completion.d/rosa
- 打开新终端以激活配置。
在 macOS 主机上为 Bash 启用持久性 tab 自动完成功能:
为 Bash 生成
rosa
选项卡自动完成配置文件,并将它保存到/usr/local/etc/bash_completion.d/
目录中:$ rosa completion bash > /usr/local/etc/bash_completion.d/rosa
- 打开新终端以激活配置。
为 Zsh 启用持久性 tab 自动完成功能:
如果没有为您的 Zsh 环境启用 tab 自动完成功能,请运行以下命令启用它:
$ echo "autoload -U compinit; compinit" >> ~/.zshrc
为 Zsh 生成
rosa
选项卡自动完成配置文件,并将其保存到功能路径中的第一个目录中:$ rosa completion zsh > "${fpath[1]}/_rosa"
- 打开新终端以激活配置。
为 fish 启用持久性 tab 自动完成功能:
为 fish 生成
rosa
选项卡补全配置文件,并将它保存到~/.config/fish/completions/
目录中:$ rosa completion fish > ~/.config/fish/completions/rosa.fish
- 打开新终端以激活配置。
为 PowerShell 启用持久性 tab 自动完成功能:
为 PowerShell 生成
rosa
选项卡补全配置文件,并将它保存到名为rosa.ps1
的文件中:PS> rosa completion powershell | Out-String | Invoke-Expression
-
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
)按以下优先级顺序查找令牌:
- 命令行参数
-
ROSA_TOKEN
环境变量 -
rosa
配置文件 - 通过命令行提示符进行交互
语法
$ rosa login [arguments]
选项 | 定义 |
---|---|
--client-id |
OpenID 客户端标识符(字符串)。默认: |
--client-secret | OpenID 客户端 secret (字符串)。 |
--insecure | 启用与服务器的不安全通信。这禁用 TLS 证书和主机名验证。 |
--scope |
OpenID 范围(字符串)。如果使用这个选项,它将替换默认的范围。这可以重复多次以指定多个范围。默认: |
--token | 访问或刷新令牌(字符串)。 |
--token-url |
OpenID 令牌 URL (字符串)。默认: |
选项 | 定义 |
---|---|
--help | 显示此命令的帮助信息。 |
--debug | 启用调试模式。 |
--profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 |
8.1.3.2. logout
从 rosa
注销。注销也会移除 rosa
配置文件。
语法
$ rosa logout [arguments]
选项 | 定义 |
---|---|
--help | 显示此命令的帮助信息。 |
--debug | 启用调试模式。 |
--profile | 指定来自您的凭证文件中的 AWS 配置集(字符串)。 |
8.1.3.3. 验证权限
验证创建 ROSA 集群所需的 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
8.1.3.4. 验证配额
验证您的默认区域是否正确配置了 AWS 配额。
语法
$ rosa verify quota [arguments]
选项 | 定义 |
---|---|
--help | 显示此命令的帮助信息。 |
--debug | 启用调试模式。 |
--region |
在其中运行命令的 AWS 区域(字符串)。这个值会覆盖 |
--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]
选项 | 定义 |
---|---|
--help | 显示此命令的帮助信息。 |
--debug | 启用调试模式。 |
8.1.3.6. 下载 oc
下载 OpenShift Container Platform CLI (oc
) 的最新版本。
下载 oc
后,您必须提取存档的内容并将其添加到您的路径中。
语法
$ rosa download oc [arguments]
选项 | 定义 |
---|---|
--help | 显示此命令的帮助信息。 |
--debug | 启用调试模式。 |
示例
下载 oc
客户端工具:
$ rosa download oc
8.1.3.7. 验证 oc
验证 OpenShift Container Platform CLI (oc
)是否已正确安装。
语法
$ rosa verify oc [arguments]
选项 | 定义 |
---|---|
--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]
选项 | 定义 |
---|---|
--region |
验证配额和权限的 AWS 区域(字符串)。此值仅在运行 |
--delete |
删除在 |
--client-id |
OpenID 客户端标识符(字符串)。默认: |
--client-secret | OpenID 客户端 secret (字符串)。 |
--insecure | 启用与服务器的不安全通信。这禁用 TLS 证书和主机名验证。 |
--scope |
OpenID 范围(字符串)。如果使用这个选项,它会完全替代默认范围。这可以重复多次以指定多个范围。默认: |
--token | 访问或刷新令牌(字符串)。 |
--token-url |
OpenID 令牌 URL (字符串)。默认: |
选项 | 定义 |
---|---|
--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
)
流程
使用来自红帽的 Red Hat OpenShift Cluster Manager 离线令牌初始化
rosa
: https://console.redhat.com/openshift/token/rosa$ rosa init --token=<token>
创建 ROSA 集群:
$ rosa create cluster --cluster-name=<cluster_name>
添加身份提供程序 (IDP):
$ rosa create idp --cluster=<cluster_name> --type=<identity_provider> [arguments]
添加
dedicated-admin
用户:$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
8.1.6. 更新 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。
$ rosa version
输出示例
1.2.15 Your ROSA CLI is up to date.