开始使用
设置集群和帐户
摘要
第 1 章 Red Hat OpenShift Service on AWS 快速启动指南 复制链接链接已复制到粘贴板!
如果您要查找 Red Hat OpenShift Service on AWS (ROSA) 的全面入门指南,请参阅 开始使用 Red Hat OpenShift Service on AWS。如需有关 ROSA 安装的更多信息,请参阅在 AWS (ROSA)上安装 Red Hat OpenShift Service。
按照本指南,使用 Red Hat Hybrid Cloud Console 上的 Red Hat OpenShift Cluster Manager 快速创建 Red Hat OpenShift Service on AWS (ROSA)集群,授予用户访问权限、部署第一个应用程序,并了解如何撤销用户访问和删除集群。
本文档中的步骤可让您创建使用 AWS 安全令牌服务(STS)的集群。有关在 ROSA 集群中使用 AWS STS 的更多信息,请参阅使用 AWS 安全令牌服务。
1.1. 前提条件 复制链接链接已复制到粘贴板!
1.2. 设置环境 复制链接链接已复制到粘贴板!
在 AWS (ROSA) 集群上创建 Red Hat OpenShift Service 前,您必须完成以下任务来设置您的环境:
- 根据您的 AWS 和 Red Hat 帐户验证 ROSA 的先决条件。
- 安装和配置所需的命令行界面(CLI)工具。
- 验证 CLI 工具的配置。
您可以按照本节中的步骤完成这些设置要求。
验证 ROSA 先决条件
使用此流程中的步骤在您的 AWS 帐户中启用 Red Hat OpenShift Service on AWS (ROSA)。
前提条件
- 您有红帽帐户。
您有一个 AWS 帐户。
注意考虑使用专用的 AWS 帐户来运行生产环境集群。如果使用 AWS Organizations,您可以使用您所在机构的 AWS 帐户或创建一个新账户。
流程
- 登录到 AWS 管理控制台。
- 进入 ROSA 服务。
单击 Get started。
验证 ROSA 先决条件 页面将打开。
在 ROSA 启用 下,确保显示绿色勾号,
并启用了之前启用的 ROSA
。如果没有,请按照以下步骤执行:
-
选中
I agree to share my contact information to Red Hat
旁边的复选框。 点 Enable ROSA。
在短暂等待后,会显示应绿色勾号并显示
启用了 ROSA
的信息。
-
选中
在 Service Quotas 下,确保显示一个绿色检查
,并且您的配额满足 ROSA 的要求
。如果您看到
您的配额不符合最低要求
,请记下配额类型和错误消息中列出的最小值。有关 请求配额增加的信息, 请参阅 Amazon 文档。Amazon 可能需要几小时才能批准配额请求。-
在 ELB 服务链接的角色 下,确保显示绿色勾号和
AWSServiceRoleForElasticLoadBalancing 已存在
。 点 Continue to Red Hat。
Get started with Red Hat OpenShift Service on AWS (ROSA) 页面会在一个新标签页中打开。在此页面中已完成第 1 步,现在可以继续执行第 2 步。
安装和配置所需的 CLI 工具
使用以下步骤在您的工作站上安装和配置。
流程
安装和配置最新的 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
安装和配置最新的 ROSA CLI (
rosa
)。- 从 Red Hat OpenShift Cluster Manager Hybrid Cloud Console 上的 Downloads 页面下载您的操作系统的 ROSA CLI 的最新版本。
从下载的存档中提取
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 登录您的红帽帐户:
rosa login
$ rosa login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入命令输出中列出的 URL,以获取离线访问令牌。在 CLI 提示符后指定令牌以进行登录。
注意之后,您可以在运行
rosa login
命令时使用--token="<offline_access_token>"
参数指定离线访问令牌。验证您是否已成功登录,并检查您的凭证:
rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在继续进行前,检查输出中的信息是否正确。
1.3. 使用默认自动模式创建带有 AWS STS 的 ROSA 集群 复制链接链接已复制到粘贴板!
Red Hat OpenShift Cluster Manager 是 Red Hat Hybrid Cloud Console 上的受管服务,您可以安装、修改、操作和升级 Red Hat OpenShift 集群。此服务允许您通过单一仪表板处理机构的所有集群。本文档中的步骤使用 OpenShift Cluster Manager 中的 自动
模式,使用当前的 AWS 帐户立即创建所需的 Identity and Access Management (IAM)资源。所需资源包括帐户范围内的 IAM 角色和策略、特定于集群的 Operator 角色和策略,以及 OpenID Connect (OIDC)身份提供程序。
当使用 OpenShift Cluster Manager Hybrid Cloud Console 创建使用 STS 的 Red Hat OpenShift Service on AWS (ROSA)集群时,您可以选择默认选项来快速创建集群。
在使用 OpenShift Cluster Manager Hybrid Cloud Console 部署带有 STS 的 ROSA 集群之前,您必须将 AWS 帐户与红帽机构相关联,并创建所需的账户范围的 STS 角色和策略。
默认集群规格概述
您可以使用默认安装选项快速创建使用安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群。以下摘要描述了默认集群规格。
组件 | 默认规格 |
---|---|
帐户和角色 |
|
集群设置 |
|
Encryption |
|
Control plane 节点配置 |
|
基础架构节点配置 |
|
Compute 节点机器池 |
|
网络配置 |
|
无类别域间路由 (CIDR) 范围 |
|
集群角色和策略 |
|
集群更新策略 |
|
了解 AWS 帐户关联
在 Red Hat Hybrid Cloud Console 上使用 Red Hat OpenShift Cluster Manager 创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群之前,您必须将 AWS 帐户与红帽机构相关联。您可以通过创建并链接以下 IAM 角色来关联您的帐户。
- OpenShift Cluster Manager 角色
创建 OpenShift Cluster Manager IAM 角色并将其链接到您的红帽机构。
您可以将基本或管理权限应用到 OpenShift Cluster Manager 角色。基本权限使用 OpenShift Cluster Manager 启用集群维护。管理权限允许使用 OpenShift Cluster Manager 自动部署特定于集群的 Operator 角色和 OpenID Connect(OIDC)供应商。
- 用户角色
创建用户 IAM 角色并将其链接到您的红帽用户帐户。红帽用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的红帽机构中。
当使用 OpenShift Cluster Manager Hybrid Cloud Console 安装集群和所需的 STS 资源时,红帽使用用户角色来验证 AWS 身份。
将您的 AWS 帐户与红帽机构相关联
在 Red Hat Hybrid Cloud Console 上使用 Red Hat OpenShift Cluster Manager 创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群之前,创建一个 OpenShift Cluster Manager IAM 角色并将其链接到您的红帽机构。然后,创建一个用户 IAM 角色,并将其链接到同一红帽机构中的红帽用户帐户。
流程
创建 OpenShift Cluster Manager 角色并将其链接到您的红帽机构:
注意要使用 OpenShift Cluster Manager 混合云控制台启用集群特定 Operator 角色和 OpenID Connect (OIDC)供应商的自动部署,您必须在创建 ROSA 集群的 帐户和角色步骤中选择 Admin OCM 角色 命令。如需有关 OpenShift Cluster Manager 角色的基本和管理特权的更多信息,请参阅了解 AWS 帐户关联。
注意如果您在 OpenShift Cluster Manager 混合云控制台中创建 ROSA 集群的 帐户和角色 步骤中选择了 Basic OCM 角色命令,则必须使用手动模式部署 ROSA 集群。在后续步骤中,系统将提示您配置特定于集群的 Operator 角色和 OpenID Connect (OIDC)供应商。
rosa create ocm-role
$ rosa create ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选择提示符处的默认值,以快速创建和连接角色。
创建用户角色并将其链接到您的红帽用户帐户:
rosa create user-role
$ rosa create user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选择提示符处的默认值,以快速创建和连接角色。
注意红帽用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的红帽机构中。
创建集群范围的 STS 角色和策略
在使用 Red Hat OpenShift Cluster Manager Hybrid Cloud Console 创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群前,请创建所需的账户范围的 STS 角色和策略,包括 Operator 策略。
流程
如果 AWS 帐户中没有它们,请创建所需的集群范围的 STS 角色和策略:
rosa create account-roles
$ rosa create account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选择提示中的默认值,以快速创建角色和策略。
使用 OpenShift Cluster Manager 默认选项创建集群
当在 Red Hat Hybrid Cloud Console 上使用 Red Hat OpenShift Cluster Manager 创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群时,您可以选择默认选项来快速创建集群。您还可以使用 admin OpenShift Cluster Manager IAM 角色启用集群特定 Operator 角色和 OpenID Connect (OIDC)供应商的自动部署。
流程
- 导航到 OpenShift Cluster Manager 并选择 Create cluster。
- 在 Create a OpenShift cluster 页面中,在 Red Hat OpenShift Service on AWS (ROSA) 行中选择 Create cluster。
验证您的 AWS 帐户 ID 是否在关联的 AWS 帐户 下拉菜单中列出,且安装程序、支持、worker 和 control plane 帐户角色 Amazon Resource Names (ARN) 是否在 Accounts 和 roles 页面中列出。
注意如果您的 AWS 帐户 ID 没有列出,请检查您已成功将 AWS 帐户与红帽机构相关联。如果没有列出您的帐户角色 ARN,请检查 AWS 帐户中是否存在所需的 account-wide STS 角色。
- 点击 Next。
在 Cluster details 页面中,在 Cluster name 字段中为集群提供一个名称。将默认值留在剩余的字段中,然后点 Next。
注意集群创建生成域前缀,作为您在
openshiftapps.com
上置备的集群的子域。如果集群名称小于或等于 15 个字符,该名称用于域前缀。如果集群名称超过 15 个字符,则域前缀会随机生成为 15 个字符的字符串。要自定义子域,请选择 Create custom domain prefix 复选框,然后在 Domain prefix 字段中输入您的域前缀名称。- 要快速部署集群,保留 Cluster settings, Networking, Cluster roles and policies, 和 Cluster updates 页中的默认选项,点每个页中的 Next。
- 在 Review your ROSA cluster 页中,查看您选择的概述并点 Create cluster 开始安装。
可选:在 Overview 选项卡中,您可以通过选择 Enable 来启用删除保护功能,该功能直接位于 Delete Protection: Disabled 下。这将阻止集群被删除。要禁用删除保护,请选择 Disable。默认情况下,集群禁用了删除保护功能来创建。
验证
您可以在集群的 Overview 页面中检查安装的进度。您可以在同一页面中查看安装日志。当页面的 Details 部分中的 Status 列为 Ready 时,您的集群已就绪。
注意如果安装失败,或者集群的状态在大约 40 分钟后仍没有变为 Ready,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。有关联系红帽支持以获取帮助的步骤,请参阅 获取 Red Hat OpenShift Service on AWS 的支持。
1.4. 创建集群管理员用户以快速集群访问 复制链接链接已复制到粘贴板!
在配置身份提供程序前,您可以创建具有 cluster-admin
特权的用户,以便立即在 AWS (ROSA) 集群上访问 Red Hat OpenShift Service。
当您需要快速访问新部署的集群时,集群管理员用户很有用。但是,请考虑配置身份提供程序,并根据需要为身份提供程序用户授予集群管理员特权。有关为您的 ROSA 集群设置身份提供程序的更多信息,请参阅配置身份提供程序并授予集群访问权限。
流程
创建集群管理员用户:
rosa create admin --cluster=<cluster_name>
$ rosa create admin --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意激活
cluster-admin
用户的过程可能需要大约一分钟才能完成。
其他资源
- 有关登录到 ROSA web 控制台的步骤,请参阅通过 Web 控制台访问集群。
1.5. 配置身份提供程序并授予集群访问权限 复制链接链接已复制到粘贴板!
Red Hat OpenShift Service on AWS (ROSA )包括内置 OAuth 服务器。创建 ROSA 集群后,您必须将 OAuth 配置为使用身份提供程序。然后,您可以在配置的身份提供程序中添加成员以授予它们对集群的访问权限。
您还可以根据需要为身份提供程序用户授予具有 cluster-admin
或 dedicated-admin
特权的身份提供程序用户。
配置身份提供程序
您可以在 AWS (ROSA) 集群上为 Red Hat OpenShift Service 配置不同的身份提供程序类型。支持的类型包括 GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect 和 htpasswd 身份提供程序。
htpasswd 身份提供程序选项仅用于创建单一静态管理用户。htpasswd 不支持作为 Red Hat OpenShift Service on AWS 的通用身份提供程序。
以下流程将 GitHub 身份提供程序配置为示例。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 如果您没有用于置备 ROSA 集群的现有 GitHub 组织,请创建一个。按照 GitHub 文档中的步骤操作。
为集群配置 GitHub 身份提供程序,仅限于 GitHub 组织的成员。
使用互动模式配置身份提供程序:
rosa create idp --cluster=<cluster_name> --interactive
$ rosa create idp --cluster=<cluster_name> --interactive
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用您的 GitHub 机构的名称替换
<github_org_name>
。
使用输出中的 URL 并选择 Register application,在 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用 ROSA 中构建的 OAuth 服务器,以便验证您的 GitHub 组织的成员到集群中。
注意Register a new OAuth application GitHub 表单中的字段通过 ROSA CLI 定义的 URL 自动填充所需的值。
使用 GitHub OAuth 应用页面中的信息填充剩余的
rosa create idp
交互式提示。持续的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意激活身份提供商配置的过程可能需要大约两分钟。如果您配置了
cluster-admin
用户,可以通过运行oc get pods -n openshift-authentication --watch
来监控使用更新的配置重新部署 OAuth pod。输入以下命令验证身份提供程序是否已正确配置:
rosa list idps --cluster=<cluster_name>
$ rosa list idps --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关配置每个支持的身份提供程序类型的详细步骤,请参阅为 STS 配置身份提供程序。
授予用户对集群的访问权限
您可以通过将 Red Hat OpenShift Service 添加到您配置的身份供应商,授予用户对 Red Hat OpenShift Service on AWS (ROSA) 集群的访问权限。
您可以为 ROSA 集群配置不同类型的身份提供程序。以下示例流程将用户添加到配置为集群身份的 GitHub 机构中。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 邀请需要访问您的 GitHub 机构 ROSA 集群的用户。按照 GitHub 文档中的邀请用户加入到您的机构 。
为用户授予管理员权限
将用户添加到配置的身份提供程序后,您可以在 AWS (ROSA) 集群中为 Red Hat OpenShift Service 授予用户 cluster-admin
或 dedicated-admin
权限。
流程
为身份提供程序用户配置
cluster-admin
权限:授予用户
cluster-admin
权限:rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用身份提供程序用户和集群名称替换
<idp_user_name>
和<cluster_name>
。
输出示例
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户是否被列为
cluster-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID GROUPS <idp_user_name> cluster-admins
ID GROUPS <idp_user_name> cluster-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为身份提供程序用户配置
dedicated-admin
权限:授予用户
dedicated-admin
权限:rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户是否被列为
dedicated-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID GROUPS <idp_user_name> dedicated-admins
ID GROUPS <idp_user_name> dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6. 通过 Web 控制台访问集群 复制链接链接已复制到粘贴板!
创建集群管理员用户或将用户添加到配置的身份提供程序后,您可以通过 Web 控制台登录到 Red Hat OpenShift Service on AWS (ROSA) 集群。
流程
获取集群的控制台 URL:
rosa describe cluster -c <cluster_name> | grep Console
$ rosa describe cluster -c <cluster_name> | grep Console
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Console URL: https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
Console URL: https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入上一步输出中的控制台 URL 并登录。
-
如果创建了
cluster-admin
用户,请使用提供的凭证登录。 - 如果您为集群配置了身份提供程序,请在 Log in with… 对话框中选择身份提供程序名称,并完成您的供应商出示的任何授权请求。
-
如果创建了
1.7. 从 Developer Catalog 部署应用程序 复制链接链接已复制到粘贴板!
在 AWS Web 控制台中,从 Developer Catalog 部署测试应用程序,并使用路由公开测试应用程序。
前提条件
- 已登陆到 Red Hat Hybrid Cloud Console。
- 您在 AWS 集群上创建了 Red Hat OpenShift Service。
- 已为集群配置身份提供程序。
- 将您的用户帐户添加到配置的身份提供程序中。
流程
- 进入 OpenShift Cluster Manager 中的 Cluster List 页面。
- 点击您要查看的集群旁的选项图标(HBAC)。
- 单击 Open console。
- 集群控制台将在新的浏览器窗口中打开。使用您配置的身份提供程序凭证登录到您的红帽帐户。
- 在 Administrator 视角中,选择 Home → Projects → Create Project。
- 输入项目的名称,并选择性地添加 Display Name 和 Description。
- 点 Create 以创建该项目。
- 切换到 Developer 视角并选择 +Add。验证 所选项目 是您刚刚创建的项目。
- 在 Developer Catalog 对话框中,选择 All services。
- 在 Developer Catalog 页面中,从菜单中选择 Languages → JavaScript。
单击 Node.js,然后单击 Create 以打开 Create Source-to-Image 应用 页面。
注意您可能需要点 Clear All Filters 以显示 Node.js 选项。
- 在 Git 部分中,单击 Try 示例。
- 在 Name 字段中添加一个唯一名称。该值将用于命名关联的资源。
- 确认选择了 Deployment 和 Create a route。
- 点 Create 以部署应用。部署 pod 需要几分钟时间。
-
可选:选择 Node.js 应用程序并查看其边栏来检查 Topology 窗格中的 pod 状态。您必须等待
nodejs
构建完成,并且nodejs
Pod 处于 Running 状态,然后继续。 部署完成后,点应用程序的路由 URL,其格式与以下内容类似:
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 浏览器中打开一个新标签页,其中包含类似如下的信息:
Welcome to your Node.js application on OpenShift
Welcome to your Node.js application on OpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:删除应用程序并清理您创建的资源:
- 在 Administrator 视角中,进入 Home → Projects。
- 点项目的操作菜单,再选择 Delete Project。
1.8. 撤销管理员特权和用户访问权限 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI rosa
从用户撤销 cluster-admin
或 dedicated-admin
权限。
要从用户撤销集群访问,您必须从配置的身份提供程序中删除该用户。
按照本节中的步骤从用户撤销管理员权限或集群访问。
从用户撤销管理员权限
按照本节中的步骤从用户撤销 cluster-admin
或 dedicated-admin
权限。
流程
从身份提供程序用户撤销
cluster-admin
权限:撤销
cluster-admin
权限:rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用身份提供程序用户和集群名称替换
<idp_user_name>
和<cluster_name>
。
输出示例
? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户没有列为
cluster-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
W: There are no users configured for cluster '<cluster_name>'
W: There are no users configured for cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从身份提供程序用户撤销
dedicated-admin
权限:撤销
dedicated-admin
权限:rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户没有列为
dedicated-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
W: There are no users configured for cluster '<cluster_name>'
W: There are no users configured for cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
撤销对集群的用户访问权限
您可以将身份提供程序用户从配置的身份提供程序中删除来撤销集群访问权限。
您可以为 ROSA 集群配置不同类型的身份提供程序。以下示例流程为为集群配置身份的 GitHub 组织的成员撤销集群访问权限。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 从 GitHub 组织中删除该用户。按照 GitHub 文档中的从您的机构中删除成员的步骤进行操作。
1.9. 删除 ROSA 集群和 AWS STS 资源 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI rosa
删除使用 AWS 安全令牌服务 (STS) 的 ROSA 集群。您还可以使用 ROSA CLI 删除 AWS Identity and Access Management (IAM) 帐户范围内的角色、特定于集群的 Operator 角色,以及 OpenID Connect (OIDC)供应商。要删除集群范围的内联和 Operator 策略,您可以使用 AWS IAM 控制台。
帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有其他集群不需要的资源,才必须删除这些资源。
流程
删除集群并观察日志,将
<cluster_name>
替换为集群的名称或 ID:rosa delete cluster --cluster=<cluster_name> --watch
$ rosa delete cluster --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在删除 IAM 角色、策略和 OIDC 供应商前,您必须等待集群删除完成。需要集群范围的角色来删除安装程序创建的资源。需要特定于集群的 Operator 角色来清理 OpenShift Operator 创建的资源。Operator 使用 OIDC 供应商进行身份验证。
删除集群 Operator 用于身份验证的 OIDC 供应商:
rosa delete oidc-provider -c <cluster_id> --mode auto
$ rosa delete oidc-provider -c <cluster_id> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_id>
替换为集群的 ID。
注意您可以使用
-y
选项,在提示符处自动回答 yes。删除特定于集群的 Operator IAM 角色:
rosa delete operator-roles -c <cluster_id> --mode auto
$ rosa delete operator-roles -c <cluster_id> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_id>
替换为集群的 ID。
删除集群范围的角色:
重要帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有其他集群不需要的资源,才必须删除这些资源。
rosa delete account-roles --prefix <prefix> --mode auto
$ rosa delete account-roles --prefix <prefix> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须包含
--<prefix>
参数。将<prefix>
替换为要删除的集群范围角色前缀。如果您在创建集群范围的角色时没有指定自定义前缀,请指定默认前缀ManagedOpenShift
。
删除您为使用 STS 的 ROSA 部署创建的账户范围的內联(inline)和 Operator IAM 策略:
- 登录到 AWS IAM 控制台。
- 进入到 Access management → Policies,再选中其中一个帐户范围策略的复选框。
- 选择策略后,点 Actions → Delete 以打开删除策略对话框。
- 输入策略名称以确认删除,然后选择 Delete 以删除策略。
- 重复此步骤,从集群中删除每个集群范围的内联和 Operator 策略。
1.10. 后续步骤 复制链接链接已复制到粘贴板!
第 2 章 Red Hat OpenShift Service on AWS 入门指南 复制链接链接已复制到粘贴板!
如果您要查找 ROSA 的快速入门指南,请参阅 Red Hat OpenShift Service on AWS 快速入门指南。
按照以下步骤创建 Red Hat OpenShift Service on AWS (ROSA)集群,授予用户访问权限、部署第一个应用程序,并了解如何撤销用户访问和删除集群。
您可以创建使用 AWS Security Token Service (STS) 的集群,也可以创建不使用它的集群。本文档中的步骤可让您创建使用 AWS STS 的集群。有关在 ROSA 集群中使用 AWS STS 的更多信息,请参阅使用 AWS 安全令牌服务。
2.1. 前提条件 复制链接链接已复制到粘贴板!
2.2. 设置环境 复制链接链接已复制到粘贴板!
在 AWS (ROSA) 集群上创建 Red Hat OpenShift Service 前,您必须完成以下任务来设置您的环境:
- 根据您的 AWS 和 Red Hat 帐户验证 ROSA 的先决条件。
- 安装和配置所需的命令行界面(CLI)工具。
- 验证 CLI 工具的配置。
您可以按照本节中的步骤完成这些设置要求。
2.2.1. 验证 ROSA 先决条件 复制链接链接已复制到粘贴板!
使用此流程中的步骤在您的 AWS 帐户中启用 Red Hat OpenShift Service on AWS (ROSA)。
前提条件
- 您有红帽帐户。
您有一个 AWS 帐户。
注意考虑使用专用的 AWS 帐户来运行生产环境集群。如果使用 AWS Organizations,您可以使用您所在机构的 AWS 帐户或创建一个新账户。
流程
- 登录到 AWS 管理控制台。
- 进入 ROSA 服务。
单击 Get started。
验证 ROSA 先决条件 页面将打开。
在 ROSA 启用 下,确保显示绿色勾号,
并启用了之前启用的 ROSA
。如果没有,请按照以下步骤执行:
-
选中
I agree to share my contact information to Red Hat
旁边的复选框。 点 Enable ROSA。
在短暂等待后,会显示应绿色勾号并显示
启用了 ROSA
的信息。
-
选中
在 Service Quotas 下,确保显示一个绿色检查
,并且您的配额满足 ROSA 的要求
。如果您看到
您的配额不符合最低要求
,请记下配额类型和错误消息中列出的最小值。有关 请求配额增加的信息, 请参阅 Amazon 文档。Amazon 可能需要几小时才能批准配额请求。-
在 ELB 服务链接的角色 下,确保显示绿色勾号和
AWSServiceRoleForElasticLoadBalancing 已存在
。 点 Continue to Red Hat。
Get started with Red Hat OpenShift Service on AWS (ROSA) 页面会在一个新标签页中打开。在此页面中已完成第 1 步,现在可以继续执行第 2 步。
2.2.2. 安装和配置所需的 CLI 工具 复制链接链接已复制到粘贴板!
使用以下步骤在您的工作站上安装和配置 AWS、Red Hat OpenShift Service on AWS (ROSA)和 OpenShift CLI 工具。
前提条件
- 您有一个 AWS 帐户。
您创建了红帽帐户。
注意您可以通过进入到 console.redhat.com 并选择 Register for a Red Hat account 来创建红帽帐户。
流程
安装和配置最新的 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
安装和配置最新的 ROSA CLI (
rosa
)。- 从 Red Hat OpenShift Cluster Manager Hybrid Cloud Console 上的 Downloads 页面下载您的操作系统的 ROSA CLI 的最新版本。
从下载的存档中提取
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
键两次来自动完成子命令并接收命令建议。ROSA
Tab 补全可用于不同的 shell 类型。以下示例在 Linux 主机上为 Bash 启用永久性 tab 自动完成功能。该命令为 Bash 生成rosa
选项卡的完成配置文件,并将其保存到/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 您必须打开一个新终端,才能激活配置。
注意有关为不同 shell 类型配置
rosa
选项卡完成的步骤,请参阅运行rosa completion --help
的帮助菜单。使用 ROSA CLI 登录您的红帽帐户:
rosa login
$ rosa login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
To login to your Red Hat account, get an offline access token at https://console.redhat.com/openshift/token/rosa ? Copy the token and paste it here:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入命令输出中列出的 URL,以获取离线访问令牌。在 CLI 提示符后指定令牌以进行登录。
注意之后,您可以在运行
rosa login
命令时使用--token="<offline_access_token>"
参数指定离线访问令牌。验证您是否已成功登录,并检查您的凭证:
rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在继续进行前,检查输出中的信息是否正确。
安装和配置最新的 OpenShift CLI (
oc
)。使用 ROSA CLI 下载
oc
CLI 的最新版本:rosa download openshift-client
$ rosa download openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 从下载的存档中提取
oc
二进制文件。以下示例从 Linux tar 归档中提取文件:tar xvf openshift-client-linux.tar.gz
$ tar xvf openshift-client-linux.tar.gz
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在您的路径中添加
oc
二进制文件。在以下示例中,/usr/local/bin
目录包含在用户的路径中:sudo mv oc /usr/local/bin/oc
$ sudo mv oc /usr/local/bin/oc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证
oc
CLI 是否已正确安装:rosa verify openshift-client
$ rosa verify openshift-client
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.9.12
I: Verifying whether OpenShift command-line tool is available... I: Current OpenShift Client Version: 4.9.12
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.3. 创建带有 STS 的 ROSA 集群 复制链接链接已复制到粘贴板!
使用以下方法之一,部署使用 AWS 安全令牌服务 (STS)的 Red Hat OpenShift Service on AWS (ROSA) 集群。在每个场景中,您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa
)来部署集群:
- 使用默认选项创建带有 STS 的 ROSA 集群 :您可以使用默认选项 和自动 STS 资源快速创建带有 STS 的 ROSA 集群。
-
使用自定义创建带有 STS 的 ROSA 集群:您可以使用自定义 创建带有 STS 的 ROSA 集群。您还可以在创建所需的 STS 资源时选择
自动
和手动
模式。
其他资源
- 有关部署没有 STS 的 ROSA 集群的详细步骤,请参阅创建没有 AWS STS 的 ROSA 集群 和 在 ROSA 上创建 AWS PrivateLink 集群。
- 有关使用 STS 的 ROSA 部署所需的帐户范围的 IAM 角色和策略的详情,请参考 帐户范围内的 IAM 角色和策略引用。
-
有关使用
自动和手动
- 有关 ROSA 更新生命周期的详情,请查看 Red Hat OpenShift Service on AWS 更新生命周期。
2.4. 创建集群管理员用户以快速集群访问 复制链接链接已复制到粘贴板!
在配置身份提供程序前,您可以创建具有 cluster-admin
特权的用户,以便立即在 AWS (ROSA) 集群上访问 Red Hat OpenShift Service。
当您需要快速访问新部署的集群时,集群管理员用户很有用。但是,请考虑配置身份提供程序,并根据需要为身份提供程序用户授予集群管理员特权。有关为您的 ROSA 集群设置身份提供程序的更多信息,请参阅配置身份提供程序并授予集群访问权限。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
流程
创建集群管理员用户:
rosa create admin --cluster=<cluster_name>
$ rosa create admin --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意激活
cluster-admin
用户的过程可能需要大约一分钟才能完成。通过 CLI 登录到集群:
运行上一步输出中提供的命令以登录:
oc login <api_url> --username cluster-admin --password <cluster_admin_password>
$ oc login <api_url> --username cluster-admin --password <cluster_admin_password>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用您的环境的 API URL 和集群管理员替换
<api_url>
和<cluster_admin_password>
。
验证您是否以
cluster-admin
用户身份登录到 ROSA 集群:oc whoami
$ oc whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
cluster-admin
cluster-admin
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关登录到 ROSA web 控制台的步骤,请参阅通过 Web 控制台访问集群
2.5. 配置身份提供程序并授予集群访问权限 复制链接链接已复制到粘贴板!
Red Hat OpenShift Service on AWS (ROSA )包括内置 OAuth 服务器。创建 ROSA 集群后,您必须将 OAuth 配置为使用身份提供程序。然后,您可以在配置的身份提供程序中添加成员以授予它们对集群的访问权限。
您还可以根据需要为身份提供程序用户授予具有 cluster-admin
或 dedicated-admin
特权的身份提供程序用户。
2.5.1. 配置身份提供程序 复制链接链接已复制到粘贴板!
您可以在 AWS (ROSA) 集群上为 Red Hat OpenShift Service 配置不同的身份提供程序类型。支持的类型包括 GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect 和 htpasswd 身份提供程序。
htpasswd 身份提供程序选项仅用于创建单一静态管理用户。htpasswd 不支持作为 Red Hat OpenShift Service on AWS 的通用身份提供程序。
以下流程将 GitHub 身份提供程序配置为示例。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您有一个 GitHub 用户帐户。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 如果您没有用于置备 ROSA 集群的现有 GitHub 组织,请创建一个。按照 GitHub 文档中的步骤操作。
为集群配置 GitHub 身份提供程序,仅限于 GitHub 组织的成员。
使用互动模式配置身份提供程序:
rosa create idp --cluster=<cluster_name> --interactive
$ rosa create idp --cluster=<cluster_name> --interactive
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用您的 GitHub 机构的名称替换
<github_org_name>
。
使用输出中的 URL 并选择 Register application,在 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用 ROSA 中构建的 OAuth 服务器,以便验证您的 GitHub 组织的成员到集群中。
注意Register a new OAuth application GitHub 表单中的字段通过 ROSA CLI 定义的 URL 自动填充所需的值。
使用 GitHub OAuth 应用页面中的信息填充剩余的
rosa create idp
交互式提示。持续的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意激活身份提供商配置的过程可能需要大约两分钟。如果您配置了
cluster-admin
用户,可以通过运行oc get pods -n openshift-authentication --watch
来监控使用更新的配置重新部署 OAuth pod。输入以下命令验证身份提供程序是否已正确配置:
rosa list idps --cluster=<cluster_name>
$ rosa list idps --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
其他资源
- 有关配置每个支持的身份提供程序类型的详细步骤,请参阅为 STS 配置身份提供程序
2.5.2. 授予用户对集群的访问权限 复制链接链接已复制到粘贴板!
您可以通过将 Red Hat OpenShift Service 添加到您配置的身份供应商,授予用户对 Red Hat OpenShift Service on AWS (ROSA) 集群的访问权限。
您可以为 ROSA 集群配置不同类型的身份提供程序。以下示例流程将用户添加到配置为集群身份的 GitHub 机构中。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您有一个 GitHub 用户帐户。
- 您已为集群配置了 GitHub 身份提供程序。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 邀请需要访问您的 GitHub 机构 ROSA 集群的用户。按照 GitHub 文档中的邀请用户加入到您的机构 。
2.5.3. 为用户授予管理员权限 复制链接链接已复制到粘贴板!
将用户添加到配置的身份提供程序后,您可以在 AWS (ROSA) 集群中为 Red Hat OpenShift Service 授予用户 cluster-admin
或 dedicated-admin
权限。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您已为集群配置了 GitHub 身份提供程序,并添加了身份提供程序用户。
流程
为身份提供程序用户配置
cluster-admin
权限:授予用户
cluster-admin
权限:rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用身份提供程序用户和集群名称替换
<idp_user_name>
和<cluster_name>
。
输出示例
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户是否被列为
cluster-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID GROUPS <idp_user_name> cluster-admins
ID GROUPS <idp_user_name> cluster-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
为身份提供程序用户配置
dedicated-admin
权限:授予用户
dedicated-admin
权限:rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户是否被列为
dedicated-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID GROUPS <idp_user_name> dedicated-admins
ID GROUPS <idp_user_name> dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.6. 通过 Web 控制台访问集群 复制链接链接已复制到粘贴板!
创建集群管理员用户或将用户添加到配置的身份提供程序后,您可以通过 Web 控制台登录到 Red Hat OpenShift Service on AWS (ROSA) 集群。
前提条件
- 您有一个 AWS 帐户。
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您已创建了集群管理员用户,或将用户帐户添加到配置的身份提供程序。
流程
获取集群的控制台 URL:
rosa describe cluster -c <cluster_name> | grep Console
$ rosa describe cluster -c <cluster_name> | grep Console
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_name>
替换为集群的名称。
输出示例
Console URL: https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
Console URL: https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 进入上一步输出中的控制台 URL 并登录。
-
如果创建了
cluster-admin
用户,请使用提供的凭证登录。 - 如果您为集群配置了身份提供程序,请在 Log in with… 对话框中选择身份提供程序名称,并完成您的供应商出示的任何授权请求。
-
如果创建了
2.7. 从 Developer Catalog 部署应用程序 复制链接链接已复制到粘贴板!
在 AWS Web 控制台中,从 Developer Catalog 部署测试应用程序,并使用路由公开测试应用程序。
前提条件
- 已登陆到 Red Hat Hybrid Cloud Console。
- 您在 AWS 集群上创建了 Red Hat OpenShift Service。
- 已为集群配置身份提供程序。
- 将您的用户帐户添加到配置的身份提供程序中。
流程
- 进入 OpenShift Cluster Manager 中的 Cluster List 页面。
- 点击您要查看的集群旁的选项图标(HBAC)。
- 单击 Open console。
- 集群控制台将在新的浏览器窗口中打开。使用您配置的身份提供程序凭证登录到您的红帽帐户。
- 在 Administrator 视角中,选择 Home → Projects → Create Project。
- 输入项目的名称,并选择性地添加 Display Name 和 Description。
- 点 Create 以创建该项目。
- 切换到 Developer 视角并选择 +Add。验证 所选项目 是您刚刚创建的项目。
- 在 Developer Catalog 对话框中,选择 All services。
- 在 Developer Catalog 页面中,从菜单中选择 Languages → JavaScript。
单击 Node.js,然后单击 Create 以打开 Create Source-to-Image 应用 页面。
注意您可能需要点 Clear All Filters 以显示 Node.js 选项。
- 在 Git 部分中,单击 Try 示例。
- 在 Name 字段中添加一个唯一名称。该值将用于命名关联的资源。
- 确认选择了 Deployment 和 Create a route。
- 点 Create 以部署应用。部署 pod 需要几分钟时间。
-
可选:选择 Node.js 应用程序并查看其边栏来检查 Topology 窗格中的 pod 状态。您必须等待
nodejs
构建完成,并且nodejs
Pod 处于 Running 状态,然后继续。 部署完成后,点应用程序的路由 URL,其格式与以下内容类似:
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 浏览器中打开一个新标签页,其中包含类似如下的信息:
Welcome to your Node.js application on OpenShift
Welcome to your Node.js application on OpenShift
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:删除应用程序并清理您创建的资源:
- 在 Administrator 视角中,进入 Home → Projects。
- 点项目的操作菜单,再选择 Delete Project。
2.8. 撤销管理员特权和用户访问权限 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI rosa
从用户撤销 cluster-admin
或 dedicated-admin
权限。
要从用户撤销集群访问,您必须从配置的身份提供程序中删除该用户。
按照本节中的步骤从用户撤销管理员权限或集群访问。
2.8.1. 从用户撤销管理员权限 复制链接链接已复制到粘贴板!
按照本节中的步骤从用户撤销 cluster-admin
或 dedicated-admin
权限。
前提条件
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您已为集群配置了 GitHub 身份提供程序,并添加了身份提供程序用户。
-
为用户授予了
cluster-admin
或dedicated-admin
权限。
流程
从身份提供程序用户撤销
cluster-admin
权限:撤销
cluster-admin
权限:rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 使用身份提供程序用户和集群名称替换
<idp_user_name>
和<cluster_name>
。
输出示例
? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户没有列为
cluster-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
W: There are no users configured for cluster '<cluster_name>'
W: There are no users configured for cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从身份提供程序用户撤销
dedicated-admin
权限:撤销
dedicated-admin
权限:rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
$ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证该用户没有列为
dedicated-admins
组的成员:rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
W: There are no users configured for cluster '<cluster_name>'
W: There are no users configured for cluster '<cluster_name>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.8.2. 撤销对集群的用户访问权限 复制链接链接已复制到粘贴板!
您可以将身份提供程序用户从配置的身份提供程序中删除来撤销集群访问权限。
您可以为 ROSA 集群配置不同类型的身份提供程序。以下示例流程为为集群配置身份的 GitHub 组织的成员撤销集群访问权限。
前提条件
- 您有一个 ROSA 集群。
- 您有一个 GitHub 用户帐户。
- 您已为集群配置了 GitHub 身份提供程序,并添加了身份提供程序用户。
流程
- 进入 github.com 并登录到您的 GitHub 帐户。
- 从 GitHub 组织中删除该用户。按照 GitHub 文档中的从您的机构中删除成员的步骤进行操作。
2.9. 删除 ROSA 集群和 AWS STS 资源 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI rosa
删除使用 AWS 安全令牌服务 (STS) 的 ROSA 集群。您还可以使用 ROSA CLI 删除 AWS Identity and Access Management (IAM) 帐户范围内的角色、特定于集群的 Operator 角色,以及 OpenID Connect (OIDC)供应商。要删除集群范围的内联和 Operator 策略,您可以使用 AWS IAM 控制台。
帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有其他集群不需要的资源,才必须删除这些资源。
前提条件
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa
。 -
您可以使用 ROSA CLI (
rosa
)登录到您的红帽帐户。 - 您创建了 ROSA 集群。
流程
删除集群并观察日志,将
<cluster_name>
替换为集群的名称或 ID:rosa delete cluster --cluster=<cluster_name> --watch
$ rosa delete cluster --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在删除 IAM 角色、策略和 OIDC 供应商前,您必须等待集群删除完成。需要集群范围的角色来删除安装程序创建的资源。需要特定于集群的 Operator 角色来清理 OpenShift Operator 创建的资源。Operator 使用 OIDC 供应商进行身份验证。
删除集群 Operator 用于身份验证的 OIDC 供应商:
rosa delete oidc-provider -c <cluster_id> --mode auto
$ rosa delete oidc-provider -c <cluster_id> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_id>
替换为集群的 ID。
注意您可以使用
-y
选项,在提示符处自动回答 yes。删除特定于集群的 Operator IAM 角色:
rosa delete operator-roles -c <cluster_id> --mode auto
$ rosa delete operator-roles -c <cluster_id> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<cluster_id>
替换为集群的 ID。
删除集群范围的角色:
重要帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有其他集群不需要的资源,才必须删除这些资源。
rosa delete account-roles --prefix <prefix> --mode auto
$ rosa delete account-roles --prefix <prefix> --mode auto
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 您必须包含
--<prefix>
参数。将<prefix>
替换为要删除的集群范围角色前缀。如果您在创建集群范围的角色时没有指定自定义前缀,请指定默认前缀ManagedOpenShift
。
删除您为使用 STS 的 ROSA 部署创建的账户范围的內联(inline)和 Operator IAM 策略:
- 登录到 AWS IAM 控制台。
- 进入到 Access management → Policies,再选中其中一个帐户范围策略的复选框。
- 选择策略后,点 Actions → Delete 以打开删除策略对话框。
- 输入策略名称以确认删除,然后选择 Delete 以删除策略。
- 重复此步骤,从集群中删除每个集群范围的内联和 Operator 策略。
2.10. 后续步骤 复制链接链接已复制到粘贴板!
第 3 章 了解使用 STS 部署工作流的 ROSA 复制链接链接已复制到粘贴板!
在 AWS (ROSA) 集群上创建 Red Hat OpenShift Service 前,您必须先满足 AWS 的先决条件,验证所需的 AWS 服务配额是否可用,并设置您的环境。
本文档概述了带有 STS 部署工作流阶段的 ROSA,并指代每个阶段的详细资源。
3.1. 使用 STS 部署工作流的 ROSA 概述 复制链接链接已复制到粘贴板!
AWS 安全令牌服务 (STS) 是一个全局 Web 服务,它为 IAM 或联邦用户提供短期凭证。您可以在 AWS (ROSA) 上将 AWS STS 与 Red Hat OpenShift Service 搭配使用,为组件特定的 IAM 角色分配临时的、有有限权限的凭证。该服务可让集群组件使用安全云资源管理实践来发出 AWS API 调用。
您可以按照本节中介绍的工作流阶段设置和访问使用 STS 的 ROSA 集群。
- 为使用 STS 的 ROSA 完成 AWS 的先决条件。要部署使用 STS 的 ROSA 集群,您的 AWS 帐户必须满足先决条件。
- 查看所需的 AWS 服务配额。要准备集群部署,请查看运行 ROSA 集群的 AWS 服务配额。
- 设置环境并安装使用 STS 的 ROSA。在创建使用 STS 的 ROSA 集群前,您必须在 AWS 帐户中启用 ROSA,安装和配置所需的 CLI 工具,并验证 CLI 工具的配置。您还需要验证 AWS Elastic Load Balancing (ELB) 服务角色是否存在以及所需的 AWS 资源配额是否可用。
-
快速创建使用 STS 的 ROSA 集群,或使用自定义 创建集群。使用 ROSA CLI (
rosa
) 或 Red Hat OpenShift Cluster Manager 创建使用 STS 的集群。您可以使用默认选项快速创建集群,也可以应用自定义以适应您的机构需求。 -
访问集群。您可以配置身份提供程序,并根据需要为身份提供程序用户授予集群管理员特权。您还可以通过配置
cluster-admin
用户来快速访问新部署的集群。 - 撤销用户 对 ROSA 集群的访问权限。您可以使用 ROSA CLI 或 web 控制台撤销一个用户对使用 STS 的 ROSA 集群的访问。
-
删除 ROSA 集群。您可以使用 ROSA CLI (
rosa
) 删除带有 STS 集群的 ROSA。删除集群后,您可以使用 AWS Identity and Access Management (IAM) 控制台删除 STS 资源。
Legal Notice
复制链接链接已复制到粘贴板!
Copyright © 2025 Red Hat
OpenShift documentation is licensed under the Apache License 2.0 (https://www.apache.org/licenses/LICENSE-2.0).
Modified versions must remove all Red Hat trademarks.
Portions adapted from https://github.com/kubernetes-incubator/service-catalog/ with modifications by Red Hat.
Red Hat, Red Hat Enterprise Linux, the Red Hat logo, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation’s permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.