安装 ROSA Classic 集群
在 AWS (ROSA) 集群上安装、访问和删除 Red Hat OpenShift Service。
摘要
第 1 章 使用默认选项创建带有 STS 的 ROSA 集群 复制链接链接已复制到粘贴板!
如果您要查找 ROSA 的快速入门指南,请参阅 Red Hat OpenShift Service on AWS 快速入门指南。
使用默认选项和自动 AWS Identity and Access Management (IAM)资源创建,快速创建 Red Hat OpenShift Service on AWS (ROSA) 集群。您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa
)部署集群。
本文档中的步骤通过 ROSA CLI (rosa
) 和 OpenShift Cluster Manager 中的 auto
模式,使用当前的 AWS 帐户创建所需的 IAM 资源。所需资源包括帐户范围内的 IAM 角色和策略、特定于集群的 Operator 角色和策略,以及 OpenID Connect (OIDC)身份提供程序。
另外,您可以使用 手动模式
,它输出创建 IAM 资源所需的 aws
命令,而不是自动部署它们。有关 使用手动模式
或自定义自定义部署 ROSA 集群的步骤,请参阅使用自定义创建集群。
后续步骤
- 确保您已完成 AWS 先决条件。
ROSA CLI 1.2.7 引入了对新集群的 OIDC 供应商端点 URL 格式的更改。Red Hat OpenShift Service on AWS 集群 OIDC 供应商 URL 不再是区域。AWS CloudFront 实现改进了访问速度和弹性,并缩短延迟。
因为这个更改仅适用于使用 ROSA CLI 1.2.7 或更高版本创建的新集群,所以现有的 OIDC-provider 配置没有任何支持的迁移路径。
1.1. 默认集群规格概述 复制链接链接已复制到粘贴板!
您可以使用默认安装选项快速创建带有托管 control plane (HCP)集群的 Red Hat OpenShift Service on AWS (ROSA)。以下概述描述了默认集群规格。
组件 | 默认规格 |
---|---|
帐户和角色 |
|
集群设置 |
|
control plane 节点配置 |
|
Compute 节点机器池 |
|
网络配置 |
|
无类别域间路由 (CIDR) 范围 |
|
集群角色和策略 |
|
存储 |
|
集群更新策略 |
|
1.2. 了解 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)供应商。
您可以将管理权限与 OpenShift Cluster Manager 角色搭配使用,以快速部署集群。
- 用户角色
创建用户 IAM 角色并将其链接到您的红帽用户帐户。红帽用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的红帽机构中。
当使用 OpenShift Cluster Manager Hybrid Cloud Console 安装集群和所需的 STS 资源时,红帽会使用用户角色来验证 AWS 身份。
1.3. 非 PrivateLink ROSA 集群的 Amazon VPC 要求 复制链接链接已复制到粘贴板!
要创建 Amazon VPC,您必须有以下内容:
- 互联网网关,
- NAT 网关,
- 为安装所需组件提供了互联网连接的私有和公共子网。
您必须至少有一个私有和公共子网用于 Single-AZ 集群,并且至少需要三个私有和公共子网用于 Multi-AZ 集群。
1.3.1. 故障排除 复制链接链接已复制到粘贴板!
如果您的集群无法安装,请检查这些常见的故障排除问题:
- 确保您的 DHCP 选项集 包含一个域名,并确保域名不包含任何空格或大写字母。
-
如果您的 VPC 使用自定义 DNS 解析器(您的 DHCP 选项集
的域名 servers
字段不是AmazonProvideDNS
),请确保它能够正确解析在 Route53 中配置的专用托管区。
有关 ROSA 集群安装故障排除的更多信息,请参阅对 Red Hat OpenShift Service on AWS 安装进行故障排除。
1.3.1.1. 获得支持 复制链接链接已复制到粘贴板!
如果您需要额外的 支持,请访问红帽客户门户网站查看知识库文章、提交支持问题单,以及查看其他产品文档和资源。
1.4. 使用 OpenShift Cluster Manager 快速创建集群 复制链接链接已复制到粘贴板!
当使用 Red Hat OpenShift Cluster Manager 创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群时,您可以选择默认选项来快速创建集群。
在使用 OpenShift Cluster Manager 部署带有 STS 的 ROSA 集群前,您必须将 AWS 帐户与红帽机构相关联,并创建所需的账户范围的 STS 角色和策略。
1.4.1. 将您的 AWS 帐户与红帽机构相关联 复制链接链接已复制到粘贴板!
在 Red Hat Hybrid Cloud Console 上使用 Red Hat OpenShift Cluster Manager 创建使用 AWS 安全令牌服务(STS)的 ROSA (经典)集群之前,创建一个 OpenShift Cluster Manager IAM 角色并将其链接到您的红帽机构。然后,创建一个用户 IAM 角色,并将其链接到同一红帽机构中的红帽用户帐户。
先决条件
- 您为使用 STS 的 ROSA 完成 AWS 的先决条件。
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
您已在安装主机上安装和配置了最新的 ROSA CLI (
rosa
)。注意要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。
- 已使用 ROSA CLI 登录您的红帽帐户。
- 您在红帽机构中具有机构管理员特权。
流程
创建 OpenShift Cluster Manager 角色并将其链接到红帽机构:
注意要使用 OpenShift Cluster Manager Hybrid Cloud Console 启用特定于集群的 Operator 角色和 OpenID Connect (OIDC)供应商,您必须在创建 ROSA 集群的 Accounts and roles 步骤中选择 Admin OCM role 命令,将管理特权应用到角色。如需有关 OpenShift Cluster Manager 角色的基本和管理特权的更多信息,请参阅了解 AWS 帐户关联。
注意如果您在 OpenShift Cluster Manager Hybrid Cloud Console 中创建 ROSA 集群的 Accounts and roles 步骤中选择了 Basic OCM role 命令,则必须使用手动模式部署 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 角色的红帽机构中。
1.4.2. 创建集群范围的 STS 角色和策略 复制链接链接已复制到粘贴板!
在使用 Red Hat Hybrid Cloud Console 创建使用 AWS 安全令牌服务(STS)的 ROSA (classic)集群前,请创建所需的账户范围的 STS 角色和策略,包括 Operator 策略。
先决条件
- 您为使用 STS 的 ROSA 完成 AWS 的先决条件。
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
-
您已在安装主机上安装和配置了最新的 ROSA CLI (
rosa
)。运行rosa 版本
,以查看您当前安装的 ROSA CLI 版本。如果有更新的版本,CLI 提供了下载此升级的链接。 - 已使用 ROSA CLI 登录您的红帽帐户。
流程
检查 AWS 帐户是否有现有的角色和策略:
rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 AWS 帐户不存在它们,请创建所需的帐户范围 AWS IAM STS 角色和策略:
rosa create account-roles
$ rosa create account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 选择提示中的默认值,以快速创建角色和策略。
1.4.3. 创建 OpenID 连接配置 复制链接链接已复制到粘贴板!
当使用 HCP 集群创建 ROSA 时,您可以在创建集群时创建 OpenID Connect (OIDC)配置。此配置注册到 OpenShift Cluster Manager。
先决条件
- 您已为使用 HCP 的 ROSA 完成 AWS 的先决条件。
-
您已在安装主机上安装并配置了最新的 ROSA CLI
rosa
。
流程
要创建 OIDC 配置以及 AWS 资源,请运行以下命令:
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令返回以下信息:
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建集群时,您必须提供 OIDC 配置 ID。CLI 输出为--
mode auto
提供了此值,否则您必须根据aws
CLI 输出用于-模式手动
确定这些值。可选: 您可以将 OIDC 配置 ID 保存为稍后使用的变量。运行以下命令来保存变量:
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 在上面的示例输出中,OIDC 配置 ID 是 13cdr6b。
运行以下命令,查看变量的值:
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
您可以列出与您的用户机构关联的集群可用的 OIDC 配置。运行以下命令:
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.4.4. 使用 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)供应商。
前提条件
- 您为使用 STS 的 ROSA 完成 AWS 的先决条件。
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
-
您已在安装主机上安装和配置了最新的 ROSA CLI (
rosa
)。运行rosa 版本
,以查看您当前安装的 ROSA CLI 版本。如果有更新的版本,CLI 提供了下载此升级的链接。 - 您已确认 AWS Elastic Load Balancing (ELB)服务角色存在于 AWS 帐户中。
- 您已将 AWS 账户与您的红帽机构相关联。关联帐户时,您可以将管理权限应用到 OpenShift Cluster Manager 角色。有关详细步骤 ,请参阅将 AWS 帐户与红帽机构相关联。
- 您已创建了所需的账户范围的 STS 角色和策略。有关详细步骤,请参阅创建帐户范围的 STS 角色和策略。
流程
- 导航到 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 帐户中是否存在所需的集群范围的 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.5. 使用 CLI 快速创建集群 复制链接链接已复制到粘贴板!
当使用 Red Hat OpenShift Service on AWS (ROSA) CLI ( rosa
)创建使用 AWS 安全令牌服务(STS)的集群时,您可以选择默认选项来快速创建集群。
前提条件
- 您为使用 STS 的 ROSA 完成 AWS 的先决条件。
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
-
您已在安装主机上安装和配置了最新的 ROSA CLI (
rosa
)。运行rosa 版本
,以查看您当前安装的 ROSA CLI 版本。如果有更新的版本,CLI 提供了下载此升级的链接。 - 已使用 ROSA CLI 登录您的红帽帐户。
- 您已确认 AWS Elastic Load Balancing (ELB)服务角色存在于 AWS 帐户中。
流程
创建所需的集群范围的角色和策略,包括 Operator 策略:
rosa create account-roles --mode auto
$ rosa create account-roles --mode auto
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意使用
auto
模式时,您可以选择性地指定-y
参数来绕过交互式提示并自动确认操作。使用默认值创建带有 STS 的集群。使用默认值时,会安装最新的稳定 OpenShift 版本:
rosa create cluster --cluster-name <cluster_name> \ --sts --mode auto
$ rosa create cluster --cluster-name <cluster_name> \
1 --sts --mode auto
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果集群名称超过 15 个字符,它将包含自动生成的域前缀,作为您置备的集群
的子域
前缀。要自定义子域,请使用 the
-domain-prefix
标志。域前缀不能超过 15 个字符,必须是唯一的,且在集群创建后无法更改。检查集群的状态:
rosa describe cluster --cluster <cluster_name|cluster_id>
$ rosa describe cluster --cluster <cluster_name|cluster_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群安装过程中,输出中会列出以下
State
字段更改:-
等待(等待 OIDC 配置)
-
待定(准备帐户)
-
安装(进行中的DNS 设置)
-
installing
ready
注意如果安装失败,或者
State
字段在大约 40 分钟后没有变为ready
,请检查安装故障排除文档了解详情。如需更多信息,请参阅 故障排除安装。有关联系红帽支持以获取帮助的步骤,请参阅 获取对 Red Hat OpenShift Service on AWS 的支持。
-
通过观察 OpenShift 安装程序日志来跟踪集群创建的进度:
rosa logs install --cluster <cluster_name|cluster_id> --watch
$ rosa logs install --cluster <cluster_name|cluster_id> --watch
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定在安装过程中监视新日志消息的
--watch
标志。这个参数是可选的。
1.6. 后续步骤 复制链接链接已复制到粘贴板!
第 2 章 使用自定义创建带有 STS 的 ROSA 集群 复制链接链接已复制到粘贴板!
使用自定义使用 AWS 安全令牌服务(STS)创建 Red Hat OpenShift Service on AWS (ROSA)集群。您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa
)部署集群。
使用本文档中的步骤,在创建所需的 AWS Identity and Access Management (IAM)资源时,您还可以选择 auto
和 manual
模式。
2.1. 了解自动和手动部署模式 复制链接链接已复制到粘贴板!
当使用 AWS 安全令牌服务 (STS) 在 AWS (ROSA) 集群中安装 Red Hat OpenShift Service 时,您可以选择 auto
和 manual
模式来创建所需的 AWS Identity and Access Management (IAM)资源。
自动
模式-
使用这个模式,ROSA CLI (
rosa
)立即创建所需的 IAM 角色和策略,以及 AWS 帐户中的 OpenID Connect (OIDC)供应商。 manual
模式-
使用这个模式,
rosa
输出创建 IAM 资源所需的aws
命令。对应的策略 JSON 文件也保存到当前目录中。通过使用手动模式
,您可以在手动运行前查看生成的aws
命令。手动模式
还允许您将命令传递给机构中的另一个管理员或组,以便它们可以创建资源。
如果您选择 使用手动模式
,集群安装会等待,直到手动创建特定于集群的 Operator 角色和 OIDC 供应商为止。创建资源后,安装将继续。如需更多信息,请参阅使用 OpenShift Cluster Manager 创建 Operator 角色和 OIDC 供应商。
有关使用 STS 安装 ROSA 所需的 AWS IAM 资源的更多信息,请参阅关于使用 STS 的集群的 IAM 资源。
如果使用 Red Hat OpenShift Cluster Manager 安装集群并选择使用手动
模式创建所需的 AWS IAM Operator 角色和 OIDC 供应商,则会提示您输入以下安装方法之一来安装资源。允许您选择适合您的机构需求的资源创建方法:
- AWS CLI (
aws
) -
使用此方法,您可以下载并提取一个存档文件,其中包含创建 IAM 资源所需的
aws
命令和策略文件。从包含策略文件的目录运行提供的 CLI 命令,以创建 Operator 角色和 OIDC 供应商。 - Red Hat OpenShift Service on AWS (ROSA) CLI,
rosa
-
您可以运行此方法提供的命令,以使用
rosa
为集群创建 Operator 角色和 OIDC 供应商。
如果使用 auto
模式,OpenShift Cluster Manager 会使用通过 OpenShift Cluster Manager IAM 角色提供的权限自动创建 Operator 角色和 OIDC 供应商。要使用此功能,您必须将 admin 权限应用到角色。
2.2. 了解 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)供应商。
您可以将管理权限与 OpenShift Cluster Manager 角色搭配使用,以快速部署集群。
- 用户角色
创建用户 IAM 角色并将其链接到您的红帽用户帐户。红帽用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的红帽机构中。
当使用 OpenShift Cluster Manager Hybrid Cloud Console 安装集群和所需的 STS 资源时,红帽会使用用户角色来验证 AWS 身份。
2.3. IAM 角色和策略的 ARN 路径自定义 复制链接链接已复制到粘贴板!
当您创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群所需的 AWS IAM 角色和策略时,您可以指定自定义 Amazon Resource Name (ARN)路径。这可让您使用满足机构安全要求的角色和策略 ARN 路径。
在创建 OCM 角色、用户角色和帐户范围的角色和策略时,您可以指定自定义 ARN 路径。
如果您在创建一组集群范围的角色和策略时定义了自定义 ARN 路径,则相同的路径会应用到集合中的所有角色和策略。以下示例显示了一组集群范围的角色和策略的 ARN。在示例中,ARN 使用自定义路径 /test/path/dev/
和自定义角色前缀 test-env
:
-
arn:aws:iam::<account_id>:role/test/path/dev/test-env-Worker-Role
-
arn:aws:iam::<account_id>:role/test/path/dev/test-env-Support-Role
-
arn:aws:iam::<account_id>:role/test/path/dev/test-env-Installer-Role
-
arn:aws:iam::<account_id>:role/test/path/dev/test-env-ControlPlane-Role
-
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-Worker-Role-Policy
-
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-Support-Role-Policy
-
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-Installer-Role-Policy
-
arn:aws:iam::<account_id>:policy/test/path/dev/test-env-ControlPlane-Role-Policy
当您创建特定于集群的 Operator 角色时,会自动检测到相关集群范围的安装程序角色的 ARN 路径,并应用到 Operator 角色。
有关 ARN 路径的更多信息,请参阅 AWS 文档中的 Amazon 资源名称(ARN)。
2.4. 支持使用 STS 的 ROSA 集群的注意事项 复制链接链接已复制到粘贴板!
创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service on AWS (ROSA)集群的支持方法是使用本文档中介绍的步骤。
您可以在 ROSA CLI (rosa
)中使用手动模式来生成安装 STS 资源所需的 AWS Identity and Access Management (IAM)策略文件和 aws
命令。
生成的文件和 aws
命令仅用于查看目的,不要对它们进行任何修改。红帽无法使用策略文件或 aws
命令的修改版本为部署的 ROSA 集群提供支持。
2.5. 非 PrivateLink ROSA 集群的 Amazon VPC 要求 复制链接链接已复制到粘贴板!
要创建 Amazon VPC,您必须有以下内容:
- 互联网网关,
- NAT 网关,
- 为安装所需组件提供了互联网连接的私有和公共子网。
您必须至少有一个私有和公共子网用于 Single-AZ 集群,并且至少需要三个私有和公共子网用于 Multi-AZ 集群。
2.6. 创建 OpenID 连接配置 复制链接链接已复制到粘贴板!
当使用 HCP 集群创建 ROSA 时,您可以在创建集群时创建 OpenID Connect (OIDC)配置。此配置注册到 OpenShift Cluster Manager。
先决条件
- 您已为使用 HCP 的 ROSA 完成 AWS 的先决条件。
-
您已在安装主机上安装并配置了最新的 ROSA CLI
rosa
。
流程
要创建 OIDC 配置以及 AWS 资源,请运行以下命令:
rosa create oidc-config --mode=auto --yes
$ rosa create oidc-config --mode=auto --yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 此命令返回以下信息:
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在创建集群时,您必须提供 OIDC 配置 ID。CLI 输出为--
mode auto
提供了此值,否则您必须根据aws
CLI 输出用于-模式手动
确定这些值。可选: 您可以将 OIDC 配置 ID 保存为稍后使用的变量。运行以下命令来保存变量:
export OIDC_ID=<oidc_config_id>
$ export OIDC_ID=<oidc_config_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 在上面的示例输出中,OIDC 配置 ID 是 13cdr6b。
运行以下命令,查看变量的值:
echo $OIDC_ID
$ echo $OIDC_ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
13cdr6b
13cdr6b
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
您可以列出与您的用户机构关联的集群可用的 OIDC 配置。运行以下命令:
rosa list oidc-config
$ rosa list oidc-config
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
ID MANAGED ISSUER URL SECRET ARN 2330dbs0n8m3chkkr25gkkcd8pnj3lk2 true https://dvbwgdztaeq9o.cloudfront.net/2330dbs0n8m3chkkr25gkkcd8pnj3lk2 233hvnrjoqu14jltk6lhbhf2tj11f8un false https://oidc-r7u1.s3.us-east-1.amazonaws.com aws:secretsmanager:us-east-1:242819244:secret:rosa-private-key-oidc-r7u1-tM3MDN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.7. 使用自定义创建集群 复制链接链接已复制到粘贴板!
使用符合您的环境需求的配置,在 AWS (ROSA) 上部署带有 AWS 安全令牌服务 (STS) 集群的 Red Hat OpenShift Service。您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa
)使用自定义部署集群。
2.7.1. 使用 OpenShift Cluster Manager 使用自定义创建集群 复制链接链接已复制到粘贴板!
当您创建使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群时,您可以使用 Red Hat OpenShift Cluster Manager 以交互自定义安装。
STS 仅支持公共和 AWS PrivateLink 集群。常规私有集群(non-PrivateLink)不适用于 STS。
先决条件
- 您为使用 STS 的 ROSA 完成 AWS 的先决条件。
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
-
您已在安装主机上安装和配置了最新的 ROSA CLI (
rosa
)。运行rosa 版本
,以查看您当前安装的 ROSA CLI 版本。如果有更新的版本,CLI 提供了下载此升级的链接。 - 您已确认 AWS Elastic Load Balancing (ELB)服务角色存在于 AWS 帐户中。
- 如果要配置集群范围代理,请验证可以从安装集群的 VPC 访问代理。该代理还必须从 VPC 的专用子网访问。
流程
- 导航到 OpenShift Cluster Manager,再选择 Create cluster。
- 在 Create a OpenShift cluster 页面中,在 Red Hat OpenShift Service on AWS (ROSA) 行中选择 Create cluster。
如果自动检测到 AWS 帐户,则会在 关联 AWS 帐户 下拉菜单中列出帐户 ID。如果没有自动检测到 AWS 帐户,请点击 Select an account → Associate AWS account 并按照以下步骤操作:
在 Authenticate 页面上,单击
rosa login
命令旁边的复制按钮。命令包含您的 OpenShift Cluster Manager API 登录令牌。注意您还可以在 OpenShift Cluster Manager 上的 OpenShift Cluster Manager API Token 页面中加载 API 令牌。
在 CLI 中运行复制的命令以登录到您的 ROSA 帐户。
rosa login --token=<api_login_token>
$ rosa login --token=<api_login_token>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<api_login_token
> 替换为复制命令中提供的令牌。
输出示例
I: Logged in as '<username>' on 'https://api.openshift.com'
I: Logged in as '<username>' on 'https://api.openshift.com'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 在 OpenShift Cluster Manager 的 Authenticate 页面上,单击 Next。
在 OCM 角色页面中,点 Basic OCM role 或 Admin OCM role 命令旁边的复制按钮。
基本角色可让 OpenShift Cluster Manager 检测 ROSA 所需的 AWS IAM 角色和策略。admin 角色还启用角色和策略的检测。另外,admin 角色允许使用 OpenShift Cluster Manager 自动部署特定于集群 Operator 角色和 OpenID Connect (OIDC) 供应商。
在 CLI 中运行复制的命令,并按照提示创建 OpenShift Cluster Manager IAM 角色。以下示例使用默认选项创建基本的 OpenShift Cluster Manager IAM 角色:
rosa create ocm-role
$ rosa create ocm-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要包含在 OCM IAM 角色名称中的前缀。默认值为
ManagedOpenShift
。每个 AWS 帐户只能为红帽机构创建一个 OCM 角色。 - 2
- 启用 admin OpenShift Cluster Manager IAM 角色,该角色等同于指定-
admin
参数。如果要使用 Auto 模式使用 OpenShift Cluster Manager 自动置备特定于集群的 Operator 角色和 OIDC 供应商,则需要 admin 角色。 - 3
- 可选:为角色指定权限边界 Amazon 资源名称(ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限。
- 4
- 为您的 OCM 角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符,并以
/
开头和结尾,例如/test/path/dev/
。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义。 - 5
- 选择角色创建模式。您可以使用
auto
模式自动创建 OpenShift Cluster Manager IAM 角色,并将其链接到红帽机构帐户。在手动模式中
,ROSA CLI 生成创建和链接角色所需的aws
命令。在手动模式中
,对应的策略 JSON 文件也会保存到当前目录中。manual
模式允许您在手动运行aws
命令前查看详情。 - 6
- 将 OpenShift Cluster Manager IAM 角色链接到您的红帽帐户。
如果您不选择将 OpenShift Cluster Manager IAM 角色链接到上一命令中的红帽机构帐户,请从 OpenShift Cluster Manager OCM 角色 页面中复制
rosa link
命令并运行它:rosa link ocm-role <arn>
$ rosa link ocm-role <arn>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<arn>
替换为上一命令输出中包含的 OpenShift Cluster Manager IAM 角色的 ARN。
- 在 OpenShift Cluster Manager OCM 角色 页面中选择 Next。
在 User role 页面上,单击 User role 命令的复制按钮,并在 CLI 中运行命令。在使用 OpenShift Cluster Manager 安装集群和所需资源时,红帽使用用户角色来验证 AWS 身份。
按照提示创建用户角色:
rosa create user-role
$ rosa create user-role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要包含在用户角色名称中的前缀。默认值为
ManagedOpenShift
。 - 2
- 可选:为角色指定权限边界 Amazon 资源名称(ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限。
- 3
- 为您的用户角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符,并以
/
开头和结尾,例如/test/path/dev/
。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义。 - 4
- 选择角色创建模式。您可以使用
auto
模式自动创建用户角色,并将其链接到 OpenShift Cluster Manager 用户帐户。在手动模式中
,ROSA CLI 生成创建和链接角色所需的aws
命令。在手动模式中
,对应的策略 JSON 文件也会保存到当前目录中。manual
模式允许您在手动运行aws
命令前查看详情。 - 5
- 将用户角色链接到 OpenShift Cluster Manager 用户帐户。
如果您不选择将用户角色链接到上一命令中的 OpenShift Cluster Manager 用户帐户,请从 OpenShift Cluster Manager 用户角色 页面中复制
rosa link
命令并运行它:rosa link user-role <arn>
$ rosa link user-role <arn>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将 <
arn
> 替换为上一命令输出中包含的用户角色的 ARN。
- 在 OpenShift Cluster Manager 用户角色 页面中,单击 Ok。
- 验证 AWS 帐户 ID 是否列在 Accounts and roles 页面的关联 AWS 帐户下拉菜单中。
如果所需的帐户角色不存在,则会提供一个通知,表示有些帐户角色 ARN 没有被检测到。您可以通过点
rosa create account-roles
命令旁的复制缓冲来创建 AWS 帐户范围的角色和策略,并在 CLI 中运行命令:rosa create account-roles
$ rosa create account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要在 OpenShift Cluster Manager IAM 角色名称中包含的前缀。默认值为
ManagedOpenShift
。重要您必须指定一个集群范围的角色前缀,该前缀在 AWS 帐户之间是唯一的,即使您为帐户角色使用自定义 ARN 路径。
- 2
- 可选:为角色指定权限边界 Amazon 资源名称(ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限。
- 3
- 为您的集群范围的角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符,并以
/
开头和结尾,例如/test/path/dev/
。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义。 - 4
- 选择角色创建模式。您可以使用
auto
模式自动创建帐户范围内的角色和策略。在手动模式中
,ROSA CLI 生成创建角色和策略所需的aws
命令。在手动模式中
,对应的策略 JSON 文件也会保存到当前目录中。manual
模式允许您在手动运行aws
命令前查看详情。 - 5 6 7 8
- 创建集群范围的安装程序、control plane、worker 和支持角色以及对应的 IAM 策略。如需更多信息,请参阅 帐户范围的 IAM 角色和策略参考。注意
在这一步中,ROSA CLI 会自动创建集群范围的 Operator IAM 策略,供特定于集群 Operator 策略使用,以允许 ROSA 集群 Operator 执行核心 OpenShift 功能。如需更多信息,请参阅 帐户范围的 IAM 角色和策略参考。
在 Accounts and roles 页面中,点 Refresh ARNs,验证是否列出了安装程序、支持、worker 和 control plane 帐户角色 ARN。
如果您在 AWS 帐户中为集群版本拥有多个帐户角色,则会提供 安装程序角色 ARN 的下拉列表。选择您要与集群一起使用的安装程序角色的 ARN。集群使用与所选安装程序角色相关的集群范围的角色和策略。
点击 Next。
注意如果更改了 Accounts and roles 页面,您可能需要再次选择复选框,以确认您已读取并完成所有先决条件。
在 Cluster details 页面中,为集群提供一个名称并指定集群详情:
- 添加集群名称。
可选:集群创建生成域前缀,作为
openshiftapps.com
上置备的集群的子域。如果集群名称小于或等于 15 个字符,则该名称用于域前缀。如果集群名称超过 15 个字符,则域前缀会随机生成到 15 个字符字符串。要自定义子域,请选中 Create custom domain prefix 复选框,然后在 Domain prefix 字段中输入您的域前缀名称。域前缀不能超过 15 个字符,在您的机构中必须是唯一的,且在集群创建后无法更改。
- 从 Version 下拉菜单中选择集群版本。
- 从 Region 下拉菜单中选择云供应商区域。
- 选择 Single zone 或 Multi-zone 配置。
- 选择 Enable user workload monitoring 以监控您自己的项目,使其与 Red Hat Site Reliability Engineer (SRE)平台指标隔离。默认启用这个选项。
可选:扩展高级加密以更改加密设置。
接受默认设置 Use default KMS Keys 来使用您的默认 AWS KMS 密钥,或者选择 Use Custom KMS 密钥来使用自定义 KMS 密钥。
- 选择了 Use Custom KMS 密钥后,在 Key ARN 字段中输入 AWS Key Management Service (KMS)自定义密钥 Amazon Resource Name (ARN) ARN。密钥用于加密集群中的所有 control plane、基础架构、worker 节点根卷和持久性卷。
可选: 要创建客户管理的 KMS 密钥,请按照 创建对称加密 KMS 密钥 的步骤进行操作。
重要除了帐户角色外,还需要 EBS Operator 角色才能成功创建集群。
此角色必须与
ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials
策略(ROSA 通过 Container Storage Interface (CSI)管理后端存储所需的 IAM 策略)附加。如需有关集群 Operator 所需的策略和权限的更多信息,请参阅 集群范围的角色的方法。
EBS Operator 角色示例
"ARN:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"
创建 Operator 角色后,您必须在 AWS 控制台的Key Management Service (KMS) 页面中 编辑 Key Policy 来添加角色。
可选: 如果需要集群经过 FIPS 验证,请选择启用 FIPS 加密。
注意如果选择了 Enable FIPS 加密,则默认 启用额外的 etcd 加密,且无法禁用。您可以选择 Enable additional etcd encryption without select Enable FIPS encryption。
可选:如果您需要 etcd 键值加密,请选择 Enable additional etcd encryption。使用这个选项时,etcd 键的值会被加密,但键不是。这个选项除了 control plane 存储加密外,它默认加密 Red Hat OpenShift Service on AWS 集群中的 etcd 卷。
注意通过在 etcd 中为密钥值启用 etcd 加密,则会出现大约 20% 的性能开销。除了加密 etcd 卷的默认 control plane 存储加密外,还会引入第二层加密的开销。只有在特别需要时才考虑启用 etcd 加密。
- 点 Next。
在 Default machine pool 页面中,选择 Compute 节点实例类型。
注意创建集群后,您可以更改集群中的计算节点数量,但您无法更改默认机器池中的计算节点实例类型。您可用的节点数量和类型取决于您是否使用单一或者多个可用区。它们还取决于您 AWS 帐户和所选区域中的启用和可用的内容。
可选:为默认机器池配置自动扩展:
- 选择 Enable autoscaling 以自动扩展默认机器池中的机器数量,以满足部署需求。
设置自动扩展的最小和最大节点数限值。集群自动扩展不会减少或增加默认的机器池节点数超过您指定的限制。
- 如果您使用一个可用区部署集群,请设置最小节点数和最大节点数。这会在可用区中定义最小和最大计算节点限值。
- 如果您使用多个可用区部署集群,请为每个区设置 Minimum nodes per zone 和 Maximum nodes per zone。它定义每个区的最小和最大计算节点限值。
注意另外,您可以在创建机器池后为默认机器池设置自动扩展首选项。
如果没有启用自动扩展,请为默认机器池选择计算节点计数:
- 如果您使用一个可用区部署集群,请从下拉菜单中选择 Compute 节点数。这定义了置备到区域的机器池的计算节点数量。
- 如果您使用多个可用区部署集群,请从下拉菜单中选择 Compute 节点数(每个区域)。这定义了每个区要置备到机器池的计算节点数量。
可选: 选择 EC2 实例元数据服务(IMDS)配置 -
可选
(默认)或required
- 来强制使用 IMDSv2。有关 IMDS 的更多信息,请参阅 AWS 文档中的实例元数据和用户数据。重要在集群创建后无法更改实例元数据服务设置。
- 可选:展开 标记节点标签,为节点添加标签。点 Add label 来添加更多节点标签并选择 Next。
在网络 配置页面 的集群 隐私 部分中,选择 Public 或 Private 来使用集群的公共或私有 API 端点和应用程序路由。
重要在集群创建后,无法在公共和私有之间更改 API 端点。
- 公共 API 端点
- 如果您不想限制对集群的访问,请选择 Public。您可以从互联网访问 Kubernetes API 端点和应用程序路由。
- 私有 API 端点
如果要限制集群的网络访问,请选择 Private。Kubernetes API 端点和应用程序路由只能从直接连接访问。
重要如果使用私有 API 端点,则在更新云供应商帐户中的网络设置之前,您无法访问集群。
可选:如果您选择使用公共 API 端点,则默认为集群创建新的 VPC。如果要在现有 VPC 中安装集群,请选择 Install into an existing VPC。
警告您无法将 ROSA 集群安装到 OpenShift 安装程序创建的现有 VPC 中。这些 VPC 在集群部署期间创建,且必须只与单个集群关联,以确保集群置备和删除操作正常工作。
要验证 OpenShift 安装程序是否已创建 VPC,请检查
kubernetes.io/cluster/<infra-id>
标签上的owned
值。例如,当查看名为mycluster-12abc-34def
的 VPC 标签时,kubernetes.io/cluster/mycluster-12abc-34def
标签的值为owned
。因此,VPC 由安装程序创建的,不得由管理员修改。注意如果选择使用私有 API 端点,则必须使用现有的 VPC 和 PrivateLink,Install into an existing VPC 和 Use a PrivateLink 选项会被自动选择。使用这些选项,Red Hat Site Reliability Engineering (SRE)团队可以连接到集群,以帮助只使用 AWS PrivateLink 端点。
- 可选: 如果要将集群安装到现有的 VPC 中,请选择配置集群范围代理 来启用 HTTP 或 HTTPS 代理来拒绝从集群直接访问互联网。
- 点击 Next。
如果您选择在现有 AWS VPC 中安装集群,请提供 Virtual Private Cloud (VPC)子网设置。
注意您必须确保您的 VPC 配置了一个公有和私有子网,以及您要安装到的每个可用区的专用子网。如果您选择使用 PrivateLink,则只需要专用子网。
可选:扩展 Additional security groups 并选择额外的自定义安全组,以应用到默认创建的机器池中的节点。您必须已创建了安全组,并将其与您为这个集群选择的 VPC 关联。您无法在创建集群时将安全组添加到默认机器池中。
默认情况下,您指定的安全组将为所有节点类型添加。取消选择 Apply the same security groups to all node type (control plane, infrastructure and worker)复选框,以为每个节点类型 选择不同的安全组。
如需更多信息,请参阅附加资源 下 安全组 的要求。
如果您选择配置集群范围代理,在 Cluster-wide proxy 页面中提供代理配置详情:
至少在以下字段之一中输入值:
- 指定有效的 HTTP 代理 URL。
- 指定有效的 HTTPS 代理 URL。
-
在 Additional trust bundle 字段中,提供 PEM 编码 X.509 证书捆绑包。捆绑包添加到集群节点的可信证书存储中。如果您使用 TLS-inspecting 代理,则需要额外的信任捆绑包文件,除非代理的身份证书由 Red Hat Enterprise Linux CoreOS (RHCOS)信任捆绑包的颁发机构签名。无论代理是透明还是需要使用
http-proxy
和https-proxy
参数显式配置,这个要求都适用。
点击 Next。
有关使用 AWS 上的 Red Hat OpenShift Service 配置代理的更多信息,请参阅配置集群范围代理。
在 CIDR 范围 对话框中,配置自定义无类别间路由 (CIDR) 范围,或使用提供默认值并点 Next。
注意如果您要安装到 VPC 中,Machine CIDR 范围必须与 VPC 子网匹配。
重要稍后无法更改 CIDR 配置。在继续操作前,请联系您的网络管理员选择。
在 Cluster roles and policies 页面中,选择您首选的特定于集群的 Operator IAM 角色和 OIDC 供应商创建模式。
使用 Manual 模式,您可以使用
rosa
CLI 命令或aws
CLI 命令为集群生成所需的 Operator 角色和 OIDC 供应商。通过手动模式,您可以在使用首选选项手动创建 IAM 资源并完成集群安装前查看详情。另外,您可以使用 Auto 模式自动创建 Operator 角色和 OIDC 供应商。要启用 Auto 模式,OpenShift Cluster Manager IAM 角色必须具有管理员权限。
注意如果您在创建关联的集群范围的角色时指定了自定义 ARN 路径,则会自动检测自定义路径并将其应用到 Operator 角色。当使用 Manual 或 Auto 模式创建 Operator 角色时,会应用自定义 ARN 路径。
可选:为特定于集群 Operator IAM 角色指定自定义 operator 角色前缀。
注意默认情况下,特定于集群的 Operator 角色名称使用集群名称和随机 4 位哈希值作为前缀。您可以选择指定自定义前缀来替换角色名称中的 <
cluster_name>-<hash
>。创建特定于集群的 Operator IAM 角色时会应用前缀。有关前缀的详情,请参阅关于自定义 Operator IAM 角色前缀。- 选择 Next。
在 Cluster update 策略 页面中,配置您的更新首选项:
选择集群更新方法:
- 如果要 单独调度每个更新,请选择单个更新。这是默认选项。
选择 Recurring updates 以在更新可用是在您的首先日期、开始时间上更新集群。
重要即使选择了周期性更新,在次版本间升级集群前,您必须更新帐户和特定于集群的 IAM 资源。
注意您可以查看 Red Hat OpenShift Service on AWS 更新生命周期文档中的生命周期结束日期。如需更多信息,请参阅 Red Hat OpenShift Service on AWS 更新生命周期。
- 如果您选择重复更新,请从下拉菜单中选择 UTC 中的星期天和升级开始时间。
- 可选:您可以在集群安装过程中为节点排空设置宽限期。默认设置 1 小时 宽限期。
点击 Next。
注意如果存在严重影响集群安全性或稳定性的关键安全问题,Red Hat Site Reliability Engineering (SRE)可能会对最新 z-stream 版本进行自动更新。在通知客户后,更新会在 48 小时内应用。有关严重影响安全评级的信息,请参阅 了解红帽安全评级。
- 查看您选择的概述并点 Create cluster 启动集群安装。
如果选择使用 Manual 模式,请手动创建特定于集群的 Operator 角色和 OIDC 供应商以继续安装:
在 Action required to continue installation 对话框中,选择 AWS CLI 或 ROSA CLI 选项卡并手动创建资源:
如果您选择使用 AWS CLI 方法,点 Download .zip,保存文件,然后提取 AWS CLI 命令和策略文件。然后,在 CLI 中运行提供的
aws
命令。注意您必须在包含策略文件的目录中运行
aws
命令。如果您选择使用 ROSA CLI 方法,点
rosa create
命令旁边的复制按钮,并在 CLI 中运行它们。注意如果您在创建关联的集群范围的角色时指定了自定义 ARN 路径,则会自动检测到自定义路径,并在使用这些手动方法创建时应用到 Operator 角色。
- 在 Action required to continue installation 对话框中,点 x 返回到集群的 Overview 页。
- 验证集群的 Overview 页面的 Details 部分中的 Cluster Status 是否已从 Waiting 改为 Installing。在状态更改前,可能需要大约两分钟的延迟时间。
注意如果选择使用 Auto 模式,OpenShift Cluster Manager 会自动创建 Operator 角色和 OIDC 供应商。
重要除了成功创建集群的帐户角色外,还需要 EBS Operator 角色。
此角色必须附加到
ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials
策略,这是 ROSA 所需的 IAM 策略,以通过 Container Storage Interface (CSI)管理后端存储。有关集群 Operator 所需的策略和权限的更多信息,请参阅 集群范围的角色创建方法。
EBS Operator 角色示例
"ARN:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"
创建 Operator 角色后,您必须在 AWS 控制台的Key Management Service (KMS) 页面中 编辑 Key Policy 以添加角色。
验证
您可以在集群的 Overview 页面中监控安装的进度。您可以在同一页面中查看安装日志。当页面的 Details 部分中的 Status 列为 Ready 时,您的集群已就绪。
注意如果安装失败,或者集群的状态在大约 40 分钟后仍没有变为 Ready,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。有关联系红帽支持以获取帮助的步骤,请参阅 获取 Red Hat OpenShift Service on AWS 的支持。
2.7.2. 使用 CLI 使用自定义创建集群 复制链接链接已复制到粘贴板!
当您创建使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群时,您可以使用交互模式自定义安装。
当在集群创建时运行 rosa create cluster --interactive
命令时,您会看到一系列互动提示,供您自定义部署。如需更多信息,请参阅交换式集群创建模式参考。
使用互动模式安装集群后,输出中会提供一个单个命令,供您使用相同的自定义配置部署更多集群。
STS 仅支持公共和 AWS PrivateLink 集群。常规私有集群(非PrivateLink)无法用于 STS。
前提条件
- 您为使用 STS 的 ROSA 完成 AWS 的先决条件。
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
-
您已在安装主机上安装并配置了最新的 ROSA CLI
rosa
。运行rosa version
以查看您当前安装的 ROSA CLI 版本。如果有更新的版本,CLI 会提供下载此升级的链接。 如果要使用客户管理的 AWS 密钥管理服务(KMS)密钥进行加密,您必须创建一个对称 KMS 密钥。创建集群时您必须提供 Amazon 资源名称(ARN)。要创建客户管理的 KMS 密钥,请按照创建对称加密 KMS 密钥的步骤进行操作。
重要除了成功创建集群的帐户角色外,还需要 EBS Operator 角色。
此角色必须附加到
ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials
策略,这是 ROSA 所需的 IAM 策略,以通过 Container Storage Interface (CSI)管理后端存储。有关集群 Operator 所需的策略和权限的更多信息,请参阅 集群范围的角色创建方法。
EBS Operator 角色示例
"ARN:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"
创建 Operator 角色后,您必须在 AWS 控制台的Key Management Service (KMS) 页面中 编辑 Key Policy 以添加角色。
流程
创建所需的集群范围的角色和策略,包括 Operator 策略:
在当前工作目录中生成 IAM 策略 JSON 文件,并输出
aws
CLI 命令进行审核:rosa create account-roles --interactive \ --mode manual
$ rosa create account-roles --interactive \
1 --mode manual
2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定要在 OpenShift Cluster Manager IAM 角色名称中包含的前缀。默认值为
ManagedOpenShift
。重要您必须指定一个在 AWS 帐户之间是唯一的集群范围的角色前缀,即使您为帐户角色使用自定义 ARN 路径。
- 2
- 可选:为角色指定权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限边界。
- 3
- 为您的集群范围的角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符,并以
/
开头和结尾,例如/test/path/dev/
。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义。 - 4
- 选择角色创建模式。您可以使用
auto
模式自动创建帐户范围内的角色和策略。在手动模式中
,rosa
CLI 生成创建角色和策略所需的aws
命令。在手动模式中
,对应的策略 JSON 文件也保存到当前目录中。manual
模式允许您在手动运行aws
命令前查看详情。 - 5 6 7 8
- 创建集群范围的安装程序、control plane、worker 和支持角色以及对应的 IAM 策略。如需更多信息,请参阅 帐户范围的 IAM 角色和策略参考。注意
在这一步中,ROSA CLI 会自动创建集群范围的 Operator IAM 策略,供特定于集群的 Operator 策略使用,以允许 ROSA 集群 Operator 运行核心 OpenShift 功能。如需更多信息,请参阅 帐户范围的 IAM 角色和策略参考。
-
查看后,手动运行
aws
命令来创建角色和策略。另外,您可以使用--mode auto
运行上述命令来立即运行aws
命令。
-
查看后,手动运行
可选:如果您使用自己的 AWS KMS 密钥加密 control plane、基础架构、worker 节点根卷和持久性卷(PV),请将帐户范围内安装程序角色的 ARN 添加到 KMS 密钥策略中。
重要只有从默认存储类创建的持久性卷(PV)才会使用此特定密钥加密。
使用任何其他存储类创建的 PV 仍然会被加密,但 PV 不会使用此密钥加密,除非存储类被特别配置为使用这个密钥。
将 KMS 密钥的密钥策略保存到本地机器的文件中。以下示例将输出保存到当前工作目录中的
kms-key-policy.json
:aws kms get-key-policy --key-id <key_id_or_arn> --policy-name default --output text > kms-key-policy.json
$ aws kms get-key-policy --key-id <key_id_or_arn> --policy-name default --output text > kms-key-policy.json
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<key_id_or_arn
> 替换为 KMS 密钥的 ID 或 ARN。
将您在上一步中创建的集群范围的安装程序角色的 ARN 添加到文件的 claim
.Principal.AWS
部分。在以下示例中,添加了默认ManagedOpenShift-Installer-Role
角色的 ARN:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将更改应用到您的 KMS 密钥策略:
aws kms put-key-policy --key-id <key_id_or_arn> \ --policy file://kms-key-policy.json \ --policy-name default
$ aws kms put-key-policy --key-id <key_id_or_arn> \
1 --policy file://kms-key-policy.json \
2 --policy-name default
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在下一步中创建集群时,您可以引用 KMS 密钥的 ARN。
使用自定义安装选项创建带有 STS 的集群。您可以使用
--interactive
模式以交互方式指定自定义设置:警告您无法将 ROSA 集群安装到 OpenShift 安装程序创建的现有 VPC 中。这些 VPC 在集群部署期间创建,且必须只与单个集群关联,以确保集群置备和删除操作正常工作。
要验证 OpenShift 安装程序是否已创建 VPC,请检查
kubernetes.io/cluster/<infra-id>
标签上的owned
值。例如,当查看名为mycluster-12abc-34def
的 VPC 标签时,kubernetes.io/cluster/mycluster-12abc-34def
标签的值为owned
。因此,VPC 由安装程序创建的,不得由管理员修改。rosa create cluster --interactive --sts
$ rosa create cluster --interactive --sts
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 可选。在创建集群时,您可以使用
--domain-prefix
标志在Stopopenshiftapps.com
上自定义集群的子域。此标志的值在您的机构中必须是唯一的,它不能超过 15 个字符,且在集群创建后无法更改。如果没有提供标志,则会创建一个自动生成的值,它依赖于集群名称的长度。如果集群名称小于或等于 15 个字符,该名称用于域前缀。如果集群名称超过 15 个字符,则域前缀会随机生成给 15 个字符的字符串。 - 2
- 在创建集群时,您可以为集群创建本地管理员用户(
cluster-admin
)。这会为cluster-admin
用户自动配置htpasswd
身份提供程序。 - 3
- 您可以为
cluster-admin
用户创建自定义密码,或者让系统生成密码。如果您没有创建自定义密码,则命令行输出中会显示生成的密码。如果指定了自定义密码,则密码必须至少为 14 个字符(ASCII-standard),没有任何空格。定义后,密码会被哈希处理并安全地传输。 - 4
- 在创建集群时,列出的
OpenShift 版本
选项包括主版本、次版本和补丁版本,如4.19.0
。 - 5
- 可选:指定
可选
,将所有 EC2 实例配置为使用 EC2 实例元数据服务(IMDS)的 v1 和 v2 端点。这是默认值。指定所有 EC2 实例都只使用 IMDSv2所必需的
。重要在集群创建后无法更改实例元数据服务设置。
- 6
- 如果您在 Amazon Web Services (AWS)帐户中为集群版本拥有多个帐户角色,则会提供交互式选项列表。
- 7
- 可选:指定在假定帐户角色时,由 Red Hat OpenShift Service on AWS 和 OpenShift 安装程序传递的唯一标识符。这个选项只适用于希望外部 ID 的自定义帐户角色。
- 8
- 默认情况下,特定于集群的 Operator 角色名称使用集群名称和随机 4 位哈希值作为前缀。您可以选择指定自定义前缀来替换角色名称中的 <
cluster_name>-<hash
>。创建特定于集群的 Operator IAM 角色时会应用前缀。有关前缀的详情,请参阅关于自定义 Operator IAM 角色前缀。注意如果您在创建关联的集群范围的角色时指定了自定义 ARN 路径,则会自动检测到自定义路径。在稍后的步骤中创建自定义路径时,自定义路径会应用到特定于集群的 Operator 角色。
- 9
- 可选:指定一个标签,该标签用于 AWS 中 Red Hat OpenShift Service on AWS 创建的资源。标签可帮助您管理、识别、组织、搜索和过滤 AWS 中的资源。标签用逗号分开,例如:
键值、数据输入
。重要Red Hat OpenShift Service on AWS 只支持在集群创建过程中对 Red Hat OpenShift 资源的自定义标签。添加后,无法删除或编辑标签。集群需要添加的标签才能遵守红帽产品服务等级协议(SLA)。这些标签不能被删除。
Red Hat OpenShift Service on AWS 不支持在 ROSA 集群管理的资源外添加额外的标签。当 AWS 资源由 ROSA 集群管理时,这些标签可能会丢失。在这些情况下,您可能需要自定义解决方案或工具来协调标签,并保持它们保持不变。
- 10
- 可选: 在生产环境中,建议使用多个可用区。默认为单个可用区。
- 11
- 可选:您可以在现有 VPC 中创建集群,或者 ROSA 可以创建一个新的 VPC 来使用。警告
您无法将 ROSA 集群安装到 OpenShift 安装程序创建的现有 VPC 中。这些 VPC 在集群部署期间创建,且必须只与单个集群关联,以确保集群置备和删除操作正常工作。
要验证 OpenShift 安装程序是否已创建 VPC,请检查
kubernetes.io/cluster/<infra-id>
标签上的owned
值。例如,当查看名为mycluster-12abc-34def
的 VPC 标签时,kubernetes.io/cluster/mycluster-12abc-34def
标签的值为owned
。因此,VPC 由安装程序创建的,不得由管理员修改。 - 12
- 可选:如果您使用自己的 AWS KMS 密钥加密 control plane、基础架构、worker 节点根卷和 PV,则启用这个选项。指定在上一步中添加到集群范围的角色的 ARN 中的 KMS 密钥的 ARN。重要
只有从默认存储类创建的持久性卷(PV)才会使用此特定密钥加密。
使用任何其他存储类创建的 PV 仍然会被加密,但 PV 不会使用此密钥加密,除非存储类被特别配置为使用这个密钥。
- 13
- 可选:您可以选择在集群中使用的额外自定义安全组。您必须已创建了安全组,并将其与您为这个集群选择的 VPC 关联。创建机器池后,您无法为默认机器池添加或编辑安全组。如需更多信息,请参阅附加资源 下 安全组 的要求。
- 14
- 可选:如果您需要集群验证 FIPS,请启用这个选项。选择这个选项意味着默认启用加密 etcd 数据选项,且无法禁用。您可以在不启用 FIPS 支持的情况下加密 etcd 数据。
- 15
- 可选:如果您的用例只需要 etcd 键值加密,除了默认加密 etcd 卷的 control plane 存储加密外,启用这个选项。使用此选项时,etcd 键的值会被加密,而不是键。重要
通过在 etcd 中为密钥值启用 etcd 加密,则会出现大约 20% 的性能开销。除了加密 etcd 卷的默认 control plane 存储加密外,还会引入第二层加密的开销。红帽建议仅在特别需要时才启用 etcd 加密。
- 16
- 输出包括了一个可以运行的自定义命令来创建具有相同配置的另一个集群。
作为使用
--interactive
模式的替代选择,您可以在运行rosa create cluster
命令时直接指定自定义选项。运行rosa create cluster --help
命令来查看可用 CLI 选项列表,或参阅 使用 ROSA CLI 管理对象中的创建集群。重要您必须完成以下步骤来创建 Operator IAM 角色和 OpenID Connect (OIDC)供应商,将集群的状态移到
ready
。创建特定于集群的 Operator IAM 角色:
在当前工作目录中生成 Operator IAM 策略 JSON 文件,并输出
aws
CLI 命令进行审核:rosa create operator-roles --mode manual --cluster <cluster_name|cluster_id>
$ rosa create operator-roles --mode manual --cluster <cluster_name|cluster_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
手动模式
生成创建 Operator 角色所需的aws
CLI 命令和 JSON 文件。检查后,您必须手动运行命令以创建资源。
检查后,运行
aws
命令,以创建 Operator IAM 角色并将受管 Operator 策略附加到它们。另外,您可以使用--mode auto
再次运行上述命令来立即运行aws
命令。注意如果您在上一步中指定了前缀,则会对 Operator 角色名称应用自定义前缀。
如果您在创建关联的集群范围的角色时指定了自定义 ARN 路径,则会自动检测自定义路径并将其应用到 Operator 角色。
重要除了成功创建集群的帐户角色外,还需要 EBS Operator 角色。
此角色必须附加到
ManagedOpenShift-openshift-cluster-csi-drivers-ebs-cloud-credentials
策略,这是 ROSA 所需的 IAM 策略,以通过 Container Storage Interface (CSI)管理后端存储。有关集群 Operator 所需的策略和权限的更多信息,请参阅 集群范围的角色创建方法。示例 EBS Operator role
"arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent"
创建 Operator 角色后,您必须在 AWS 控制台的Key Management Service (KMS) 页面中 编辑 Key Policy 以添加角色。
创建集群 Operator 用于身份验证的 OpenID Connect (OIDC)供应商:
rosa create oidc-provider --mode auto --cluster <cluster_name|cluster_id>
$ rosa create oidc-provider --mode auto --cluster <cluster_name|cluster_id>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
auto
模式会立即运行创建 OIDC 供应商的aws
CLI 命令。
检查集群的状态:
rosa describe cluster --cluster <cluster_name|cluster_id>
$ rosa describe cluster --cluster <cluster_name|cluster_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
端点 URL 取决于 BYO OIDC 配置。如果您要预先填充 OIDC 配置,URL 会以 <
oidc_config_id
> 值结束;否则,URL 以 <cluster-ID
> 值结尾。
在集群安装过程中,输出中会列出以下
State
字段更改:-
等待(等待 OIDC 配置)
-
待定(准备帐户)
-
安装(正在进行中的DNS 设置)
-
安装
ready
注意如果安装失败,或者
State
字段在大约 40 分钟后没有变为ready
,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。有关联系红帽支持以获取帮助的步骤,请参阅 获取 Red Hat OpenShift Service on AWS 的支持。
-
端点 URL 取决于 BYO OIDC 配置。如果您要预先填充 OIDC 配置,URL 会以 <
通过观察 OpenShift 安装程序日志来跟踪集群创建的进度:
rosa logs install --cluster <cluster_name|cluster_id> --watch
$ rosa logs install --cluster <cluster_name|cluster_id> --watch
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow
2.8. 后续步骤 复制链接链接已复制到粘贴板!
第 3 章 使用 Terraform 创建 ROSA (经典架构)集群 复制链接链接已复制到粘贴板!
3.1. 使用 Terraform 创建默认 ROSA (经典架构)集群 复制链接链接已复制到粘贴板!
使用使用默认集群选项配置的 Terraform 集群模板快速创建 {rosa-classic-first} 集群。
以下描述的集群创建过程使用 Terraform 配置来准备带有以下资源的 {rosa-classic} AWS 安全令牌服务(STS)集群:
-
带有受管
oidc-config
配置的 OIDC 供应商 - 带有关联的 AWS Managed ROSA 策略的先决条件 IAM Operator 角色
- 带有关联的 AWS Managed ROSA 策略的 IAM 帐户角色
- 创建使用 STS 集群的 ROSA 所需的所有其他 AWS 资源
3.1.1. Terraform 概述 复制链接链接已复制到粘贴板!
Terraform 是一个基础架构即代码工具,提供一次配置资源并根据需要复制这些资源的方法。Terraform 使用声明性语言完成创建任务。您可以声明基础架构资源的最终状态,Terraform 会根据您的规格创建这些资源。
前提条件
要在 Terraform 配置中使用 Red Hat Cloud Services 供应商,您必须满足以下条件:
- 您已在 AWS (ROSA)命令行界面(CLI)工具上安装了 Red Hat OpenShift Service。
- 您有离线的 Red Hat OpenShift Cluster Manager 令牌。
- 已安装 Terraform 版本 1.4.6 或更新版本。
您已创建了 AWS 帐户范围的 IAM 角色。
特定的帐户范围的 IAM 角色和策略提供 ROSA 支持、安装、control plane 和计算功能所需的 STS 权限。这包括集群范围的 Operator 策略。如需有关 AWS 帐户角色的更多信息,请参阅附加资源。
- 您有一个 AWS 帐户 和相关凭证,供您创建资源。为 AWS 供应商配置了凭证。请参阅 AWS Terraform 供应商文档中的 身份验证和 配置部分。
您至少在 AWS IAM 角色策略中具有以下权限,其运行 Terraform。在 AWS 控制台中检查这些权限。
例 3.1. Terraform 的最低 AWS 权限
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用 Terraform 时的注意事项
通常,使用 Terraform 管理云资源应按照预期完成任何更改,以便使用 Terraform 方法进行任何更改。在使用 Terraform 之外的工具(如 AWS 控制台或红帽控制台)时,请小心修改 Terraform 创建的云资源。使用 Terraform 以外的工具来管理已经由 Terraform 管理的云资源,从您声明的 Terraform 配置中引入配置偏移。
例如,如果您使用 Red Hat Hybrid Cloud Console 升级 Terraform 创建的集群,则需要在应用任何受影响的配置更改前协调 Terraform 状态。如需更多信息,请参阅 HashiCorp Developer 文档中的管理 Terraform 状态的资源。
3.1.2. 默认集群规格概述 复制链接链接已复制到粘贴板!
组件 | 默认规格 |
---|---|
帐户和角色 |
|
集群设置 |
|
control plane 节点配置 |
|
Compute 节点机器池 |
|
网络配置 |
|
无类别域间路由 (CIDR) 范围 |
|
集群角色和策略 |
|
存储 |
|
集群更新策略 |
|
3.1.3. 使用 Terraform 创建默认的 {rosa-classic} 集群 复制链接链接已复制到粘贴板!
以下概述的集群创建过程演示了如何使用 Terraform 创建您的帐户范围的 IAM 角色和带有受管 OIDC 配置的 {rosa-classic} 集群。
3.1.3.1. 为 Terraform 准备您的环境 复制链接链接已复制到粘贴板!
在使用 Terraform 创建 ROSA (经典)集群前,您需要导出 离线 Red Hat OpenShift Cluster Manager 令牌。
流程
可选: 因为在安装过程中在当前目录中创建 Terraform 文件,所以您可以创建一个新的目录来存储这些文件并导航到其中:
mkdir terraform-cluster && cd terraform-cluster
$ mkdir terraform-cluster && cd terraform-cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用 离线 Red Hat OpenShift Cluster Manager 令牌 向您的帐户授予权限。
运行以下命令复制离线令牌,并将令牌设置为环境变量:
export RHCS_TOKEN=<your_offline_token>
$ export RHCS_TOKEN=<your_offline_token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意此环境变量会在每个会话的末尾重置,如重启计算机或关闭终端。
验证
导出令牌后,运行以下命令来验证值:
echo $RHCS_TOKEN
$ echo $RHCS_TOKEN
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3.2. 在本地创建 Terraform 文件 复制链接链接已复制到粘贴板!
设置 离线 Red Hat OpenShift Cluster Manager 令牌 后,您需要在本地创建 Terraform 文件以构建集群。您可以使用以下代码模板创建这些文件。
流程
运行以下命令来创建
main.tf
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 可选:通过取消注释适当的参数并编辑其值,在集群创建过程中创建管理员用户。
运行以下命令来创建
variables.tf
文件:注意在运行该命令 以构建 集群前复制并编辑此文件。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建
vpc.tf
文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 您已准备好启动 Terraform。
3.1.3.3. 使用 Terraform 创建 ROSA 集群 复制链接链接已复制到粘贴板!
创建 Terraform 文件后,您必须启动 Terraform 以提供所有所需的依赖项。然后应用 Terraform 计划。
不要修改 Terraform 状态文件。如需更多信息,请参阅使用 Terraform 时的注意事项
流程
将 Terraform 设置为根据您的 Terraform 文件创建资源,运行以下命令:
terraform init
$ terraform init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选 :运行以下命令来验证您复制的 Terraform 是否正确:
terraform validate
$ terraform validate
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Success! The configuration is valid.
Success! The configuration is valid.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,使用 Terraform 创建集群:
terraform apply
$ terraform apply
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform 界面需要两个问题来创建集群,如下所示:
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当 Terraform 界面列出要创建或修改的资源并提示确认时,输入
yes
才能继续或取消:输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果输入
yes
,您的 Terraform 计划将启动,创建 AWS 帐户角色、Operator 角色和 ROSA Classic 集群。
验证
运行以下命令验证集群是否已创建:
rosa list clusters
$ rosa list clusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示集群的 ID、名称和状态的输出示例
ID NAME STATE TOPOLOGY 27c3snjsupa9obua74ba8se5kcj11269 rosa-tf-demo ready Classic (STS)
ID NAME STATE TOPOLOGY 27c3snjsupa9obua74ba8se5kcj11269 rosa-tf-demo ready Classic (STS)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证您的帐户角色是否已创建:
rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令验证您的 Operator 角色是否已创建:
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 显示 Terraform 创建的 Operator 角色的输出示例
I: Fetching operator roles ROLE PREFIX AMOUNT IN BUNDLE rosa-demo 6
I: Fetching operator roles ROLE PREFIX AMOUNT IN BUNDLE rosa-demo 6
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.1.3.4. 使用 Terraform 删除 ROSA 集群 复制链接链接已复制到粘贴板!
使用 terraform destroy
命令删除通过 terraform apply
命令创建的所有资源。
在销毁资源前,不要修改 Terraform .tf
文件。这些变量与要删除的资源匹配。
流程
在运行
terraform apply
命令创建集群的目录中,运行以下命令删除集群:terraform destroy
$ terraform destroy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Terraform 接口提示您输入两个变量。它们应与创建集群时提供的答案匹配:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入
yes
以启动角色和集群删除:输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
运行以下命令验证集群是否已销毁:
rosa list clusters
$ rosa list clusters
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 没有显示集群的输出示例
I: No clusters available
I: No clusters available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证帐户角色是否已销毁:
rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 没有显示 Terraform 创建帐户角色的输出示例
I: Fetching account roles I: No account roles available
I: Fetching account roles I: No account roles available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,验证 Operator 角色是否已销毁:
rosa list operator-roles
$ rosa list operator-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示没有 Terraform 创建的 Operator 角色的示例
I: Fetching operator roles I: No operator roles available
I: Fetching operator roles I: No operator roles available
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
第 4 章 交互式集群创建模式参考 复制链接链接已复制到粘贴板!
本节概述了通过 ROSA CLI (rosa
),使用互动模式创建 OCM 角色、用户角色和 Red Hat OpenShift Service on AWS (ROSA) 集群时的选项。
4.1. 交互式 OCM 和用户角色创建模式选项 复制链接链接已复制到粘贴板!
在使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Cluster Manager 创建 Red Hat OpenShift Service on AWS (ROSA)集群前,您必须通过创建和链接 OCM 和用户角色将 AWS 帐户与红帽机构相关联。在运行 rosa create ocm-role
命令或 rosa create user-role
命令时,您可以通过指定 --interactive
选项来启用交互模式。
下表描述了交互式 OCM 角色创建模式选项:
字段 | 描述 |
---|---|
|
指定要在 OCM IAM 角色名称中包含的前缀。默认值为 |
|
启用 admin OCM IAM 角色,该角色等同于指定 |
| 为 OCM 角色指定权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限边界。 |
|
为您的 OCM 角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符,并以 |
|
选择角色创建模式。您可以使用 |
| 确认您要创建 OCM 角色。 |
| 确认您要将 OCM 角色与您的红帽机构相关联。 |
下表描述了交互式用户角色创建模式选项:
字段 | 描述 |
---|---|
|
指定要在用户角色名称中包含的前缀。默认值为 |
| 为用户角色指定权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限边界。 |
|
为您的用户角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符,并以 |
|
选择角色创建模式。您可以使用 |
| 确认您要创建用户角色。 |
| 确认您要使用您的红帽用户帐户链接用户角色。 |
4.2. 交互式集群创建模式选项 复制链接链接已复制到粘贴板!
您可以使用互动模式使用 AWS 安全令牌服务(STS)创建 Red Hat OpenShift Service on AWS 集群。您可以在运行 rosa create cluster
命令时指定 --interactive
选项来启用模式。
下表描述了交互式集群创建模式选项:
字段 | 描述 |
---|---|
|
为集群输入一个名称,如 |
|
为集群的子域输入域前缀的名称,如 |
| 启用 Hosted Control Planes 的使用。 |
|
为集群创建本地管理员用户( |
|
为 |
|
创建一个 OpenShift 集群,它使用 AWS 安全令牌服务 (STS) 为组件特定的 AWS Identity and Access Management (IAM) 角色分配临时的、有有限权限的凭证。该服务可让集群组件使用安全云资源管理实践来发出 AWS API 调用。默认值为 |
| 选择要安装的 OpenShift 版本,如 4。默认为最新版本。 |
| 指定所有 EC2 实例是否同时使用 EC2 实例元数据服务(IMDS)的 v1 和 v2 端点(可选)还是仅 IMDSv2 (必需)。 |
| 如果您在 AWS 帐户中有多个帐户角色用于集群版本,则会提供一个安装程序角色 ARN 列表。选择您要用于集群的安装程序角色的 ARN。集群使用与所选安装程序角色相关的集群范围的角色和策略。 |
| 指定在假定帐户角色时由 OpenShift Cluster Manager 和 OpenShift 安装程序传递的唯一标识符。这个选项只适用于希望外部 ID 的自定义帐户角色。 |
|
输入要分配给特定于集群的 Operator IAM 角色的前缀。默认值是集群名称和 4 位随机字符串,如 |
| 指定您是否要使用预配置的 OIDC 配置,还是要创建新的 OIDC 配置作为集群创建过程的一部分。 |
| 指定在 AWS 中由 Red Hat OpenShift Service on AWS 创建的所有资源上使用的标签。标签可帮助您管理、识别、组织、搜索和过滤 AWS 中的资源。标签用逗号分开,例如:"key value, foo bar"。 重要 Red Hat OpenShift Service on AWS 只支持在集群创建过程中对 Red Hat OpenShift 资源的自定义标签。添加后,无法删除或编辑标签。集群需要添加的标签才能遵守红帽产品服务等级协议(SLA)。这些标签不能被删除。 Red Hat OpenShift Service on AWS 不支持在 ROSA 集群管理的资源外添加额外的标签。当 AWS 资源由 ROSA 集群管理时,这些标签可能会丢失。在这些情况下,您可能需要自定义解决方案或工具来协调标签,并保持它们保持不变。 |
|
将集群部署到 AWS 区域中的多个可用区。默认值为 |
|
指定要将集群部署到的 AWS 区域。这会覆盖 |
|
使用 AWS PrivateLink 创建集群。这个选项提供虚拟私有云(VPC)、AWS 服务和内部网络之间的私有连接,而无需向公共互联网公开流量。为了提供支持,Red Hat Site Reliability Engineering (SRE)可以使用 AWS PrivateLink Virtual Private Cloud (VPC)端点连接到集群。在集群创建后无法更改这个选项。默认值为 |
|
指定机器(集群节点)的 IP 地址范围,它您的 VPC 子网的所有 CIDR 地址范围。子网必须是连续的。单个可用区部署支持最少有 128 个地址的 IP 地址范围(使用子网前缀 |
|
指定服务的 IP 地址范围。建议不要要求地址块在集群之间是相同的。这将不会创建 IP 地址冲突。范围必须足够大,以适应您的工作负载。该地址块不得与从集群内部访问的任何外部服务重叠。默认为 |
|
指定 pod 的 IP 地址范围。建议不要要求地址块在集群之间是相同的。这将不会创建 IP 地址冲突。范围必须足够大,以适应您的工作负载。该地址块不得与从集群内部访问的任何外部服务重叠。默认为 |
|
将集群安装到现有的 AWS VPC 中。要使用这个选项,您的 VPC 必须为每个要将集群安装到的可用区有 2 个子网。默认值为 |
|
指定安装到现有 AWS VPC 时使用的可用区。使用以逗号分隔的列表来提供可用区。如果您指定 |
|
启用这个选项,使用特定的 AWS 密钥管理服务(KMS)密钥作为持久数据的加密密钥。此密钥功能作为 control plane、基础架构和 worker 节点根卷的加密密钥。密钥也在默认存储类上配置,以确保使用默认存储类创建的持久性卷将使用特定的 KMS 密钥加密。禁用后,默认使用指定区域的帐户 KMS 密钥来确保始终加密持久数据。默认值为 |
|
选择计算节点实例类型。默认值为 |
|
启用计算节点自动扩展。自动缩放器会调整集群的大小,以满足您的部署需求。默认值为 |
| 选择与集群端创建的标准机器池一起使用的额外自定义安全组 ID。默认为 none 选择。仅显示与所选 VPC 关联的安全组。您可以选择最多 5 个额外的安全组。 |
| 选择与集群端创建的 infra 节点一起使用的额外自定义安全组 ID。默认为 none 选择。仅显示与所选 VPC 关联的安全组。您可以选择最多 5 个额外的安全组。 |
| 选择与集群侧创建的 control plane 节点一起使用的额外自定义安全组 ID。默认为 none 选择。仅显示与所选 VPC 关联的安全组。您可以选择最多 5 个额外的安全组。 |
|
指定要置备到每个可用区的计算节点数量。在单个可用区中部署的集群至少需要 2 个节点。在多个区中部署的集群必须至少有 3 个节点。worker 节点的最大数量为 249 节点。默认值为 |
| 指定默认机器池的标签。标签格式应该是以逗号分隔的键值对列表。此列表会持续覆盖对节点标签所做的任何修改。 |
|
指定分配给调度到各个机器的 pod 的子网前缀长度。主机前缀决定了每台机器的 pod IP 地址池。例如,如果主机前缀设置为 |
|
指定机器池根磁盘的大小。这个值必须包含单位后缀,如 GiB 或 TiB,例如默认值 |
|
启用或禁用 FIPS 模式。默认值为 重要 要为集群启用 FIPS 模式,您必须从配置为以 FIPS 模式操作的 {op-system-base-full} 计算机运行安装程序。有关在 {op-system-base} 上配置 FIPS 模式的更多信息,请参阅 将 {op-system-base} 切换到 FIPS 模式。 当以 FIPS 模式运行 {op-system-base-full} 或 Red Hat Enterprise Linux CoreOS (RHCOS)引导时,Red Hat OpenShift Service on AWS 核心组件使用 {op-system-base} 加密库,该库仅提交到 x86_64、ppc64le 和 s390x 架构上的 NIST for FIPS 140-2/140-3 Validation。 |
|
Red Hat OpenShift Service on AWS 中,control plane 存储会默认加密,这包括 etcd 卷的加密。您还可以启用 重要 通过在 etcd 中为密钥值启用 etcd 加密,则会出现大约 20% 的性能开销。除了加密 etcd 卷的默认 control plane 存储加密外,还会引入第二层加密的开销。红帽建议仅在特别需要时才启用 etcd 加密。 |
| 禁用监控用户定义的项目。默认启用对用户定义的项目的监控。 |
| 指定入口的路由选择器。格式应该是以逗号分隔的键值对列表。如果没有指定标签,则所有路由将在两个路由器上公开。对于旧的入口支持,这些标签会包含标签;否则,它们被视为排除标签。 |
|
指定入口的排除命名空间。格式应该是用逗号分开的列表 |
|
为您的入口选择通配符策略。选项为 |
|
选择 ingress 的命名空间所有权策略。选项为 |
第 5 章 在 ROSA 上创建 AWS PrivateLink 集群 复制链接链接已复制到粘贴板!
本文档论述了如何使用 AWS PrivateLink 创建 ROSA 集群。
5.1. 了解 AWS PrivateLink 复制链接链接已复制到粘贴板!
可以在 AWS 集群上创建 Red Hat OpenShift Service,无需公共子网、互联网网关或网络地址转换 (NAT) 网关。在这个配置中,红帽使用 AWS PrivateLink 管理和监控集群以避免所有公共入口网络流量。如果没有公共子网,就无法将应用程序路由器配置为公共路由器。配置私有应用路由器是唯一选项。
如需更多信息,请参阅 AWS 网站上的 AWS PrivateLink。
您只能在安装时创建一个 PrivateLink 集群。您不能在安装后将集群改为 PrivateLink。
5.2. 使用 AWS PrivateLink 集群的要求 复制链接链接已复制到粘贴板!
对于 AWS PrivateLink 集群,互联网网关、NAT 网关和公共子网不需要,但专用子网必须提供安装所需组件的互联网连接。Single-AZ 集群需要至少一个私有子网,而 Multi-AZ 集群需要至少 3 个私有子网。下表显示了成功安装所需的 AWS 资源:
组件 | AWS 类型 | 描述 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
VPC |
| 您必须提供 VPC 供集群使用。 | ||||||||||||
网络访问控制 |
| 您必须允许访问以下端口:
| ||||||||||||
专用子网 |
| 您的 VPC 在 1 个可用区中必须具有私有子网,用于 Single-AZ 部署,或 3 个可用区用于 Multi-AZ 部署。您必须提供适当的路由和路由表。 |
5.3. 创建 AWS PrivateLink 集群 复制链接链接已复制到粘贴板!
您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI 创建 AWS PrivateLink 集群。
仅在现有的 VPC 上支持 AWS PrivateLink。
先决条件
- 您有可用的 AWS 服务配额。
- 您已在 AWS 控制台中启用了 ROSA 服务。
-
您已在安装主机上安装并配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI (
rosa
)。
流程
创建集群最多可能需要 40 分钟。
使用 AWS PrivateLink,您可以创建一个单一可用区 (Single-AZ) 或多个可用区 (Multi-AZ) 的集群。在这两种情况下,您的机器的无类别间路由 (CIDR) 必须与虚拟私有云的 CIDR 匹配。如需更多信息 ,请参阅使用您自己的 VPC 和 VPC 验证 的要求。
重要如果使用防火墙,您必须进行配置,以便 Red Hat OpenShift Service on AWS 可以访问正常工作所需的站点。
如需更多信息,请参阅 AWS PrivateLink 防火墙先决条件部分。
注意如果您的集群名称超过 15 个字符,它将包含自动生成的域前缀作为您 provisioned 集群
的子域
。要自定义子域,请使用
--domain-prefix
标志。域前缀不能超过 15 个字符,它必须是唯一的,且在集群创建后无法更改。创建 Single-AZ 集群:
rosa create cluster --private-link --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id>
$ rosa create cluster --private-link --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建 Multi-AZ 集群:
rosa create cluster --private-link --multi-az --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id1>,<private-subnet-id2>,<private-subnet-id3>
$ rosa create cluster --private-link --multi-az --cluster-name=<cluster-name> [--machine-cidr=<VPC CIDR>/16] --subnet-ids=<private-subnet-id1>,<private-subnet-id2>,<private-subnet-id3>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入以下命令检查集群的状态。在集群创建过程中,输出中的
State
字段将从pending
过渡到installing
,最后变为ready
。rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果安装失败,或者
State
字段在 40 分钟后没有变为ready
,请检查安装故障排除文档以了解更多详细信息。输入以下命令跟踪 OpenShift 安装程序日志以跟踪集群进度:
rosa logs install --cluster=<cluster_name> --watch
$ rosa logs install --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.4. 配置 AWS PrivateLink DNS 转发 复制链接链接已复制到粘贴板!
使用 AWS PrivateLink 集群时,在 Route 53 中创建公共托管区和一个私有托管区。使用私有托管区,区中的记录只能从 VPC 中将其分配给它。
Let 的 Encrypt DNS-01 验证需要一个公共区,以便为域发布有效的公开可信证书。验证记录会在 Let’s Encrypt 验证完成后删除。但是,在发布和更新这些证书时仍需要该区域,这通常需要 60 天。虽然这些区域通常会出现为空,但在验证过程中提供关键角色。
如需有关私有托管区的更多信息,请参阅 AWS 私有托管区文档。有关公共托管区的更多信息,请参阅 AWS 公共托管区文档。
先决条件
- 您的公司网络或其他 VPC 有连接
- 在您的网络中启用 UDP 端口 53 和 TCP 端口 53 以允许 DNS 查询
- 您已使用 Red Hat OpenShift Service on AWS 创建 AWS PrivateLink 集群
流程
-
要允许记录(如
api.<cluster_domain>
和*.apps.<cluster_domain>
) 在 VPC 之外解析,配置一个 Route 53 Resolver Inbound Endpoint。 - 配置入站端点时,选择创建集群时使用的 VPC 和专用子网。
-
在端点运行并关联后,配置公司网络以将 DNS 查询转发到顶级集群域(如
drow-pl-01.htno.p1.openshiftapps.com
)的 IP 地址。 - 如果您要将 DNS 查询从一个 VPC 转发到另一个 VPC,请配置转发规则。
- 如果要配置远程网络 DNS 服务器,请参阅您的特定 DNS 服务器文档为已安装集群域配置选择性 DNS 转发。
5.5. 后续步骤 复制链接链接已复制到粘贴板!
第 7 章 访问 ROSA 集群 复制链接链接已复制到粘贴板!
建议您使用身份提供程序(IDP)帐户访问 Red Hat OpenShift Service on AWS (ROSA)集群。但是,创建集群的集群管理员可以使用快速访问过程访问它。
本文档论述了如何使用 ROSA CLI (rosa
) 访问集群并设置 IDP。另外,您可以使用 OpenShift Cluster Manager 控制台创建 IDP 帐户。
7.1. 快速访问集群 复制链接链接已复制到粘贴板!
您可以使用此快速访问过程来登录到集群。
作为最佳实践,请使用 IDP 帐户访问集群。
流程
输入以下命令:
rosa create admin --cluster=<cluster_name>
$ rosa create admin --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于托管 control plane (HCP)集群的 Red Hat OpenShift Service on AWS (ROSA),端口号应为
443。
在上一命令的输出中输入
oc login
命令、用户名和密码:输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于使用 HCP 集群的 ROSA,端口号应为
443。
使用 default 项目,输入此
oc
命令来验证是否已创建集群管理员访问权限: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
7.2. 使用 IDP 帐户访问集群 复制链接链接已复制到粘贴板!
要登录到集群,您可以配置身份提供程序(IDP)。此流程使用 GitHub 作为示例 IDP。要查看其他支持的 IDP,请运行 rosa create idp --help
命令。
或者,作为创建集群的用户,您可以使用快速访问过程。
流程
使用 IDP 帐户访问集群:
添加 IDP。
以下命令创建一个由 GitHub 支持的 IDP。运行此命令后,按照输出中的交互式提示访问 GitHub 开发人员设置 并配置新的 OAuth 应用。
rosa create idp --cluster=<cluster_name> --interactive
$ rosa create idp --cluster=<cluster_name> --interactive
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下值:
-
身份提供程序类型:
github
-
Restrict to members of:
organizations
(如果您没有 GitHub 机构,您可以立即创建一个) -
GitHub organizations:
rh-test-org
(您的组织的名称)
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
身份提供程序类型:
使用输出中的 URL 并选择 Register application,在 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用 ROSA 中构建的 OAuth 服务器,以便验证您的 GitHub 组织的成员到集群中。
注意Register a new OAuth application GitHub 表单中的字段通过 Red Hat OpenShift Service on AWS (ROSA) CLI 定义的 URL 自动填充所需的值。
使用您创建的 GitHub 应用程序的信息并继续提示。输入以下值:
-
客户端 ID: &
lt;my_github_client_id>
-
Client Secret: [? for help] <
;my_github_client_secret>
- hostname :(可选,您可以立即将其留空)
-
映射方法:
claim
持续的输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在集群中配置 IDP 可能需要 1-2 分钟。
-
客户端 ID: &
输入以下命令验证您的 IDP 是否已正确配置:
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.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1
NAME TYPE AUTH URL github-1 GitHub https://oauth-openshift.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
登录到您的集群。
输入以下命令获取集群
的控制台 URL
:rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于托管 control plane (HCP)集群的 Red Hat OpenShift Service on AWS (ROSA),端口号应为
443。
-
导航到
Console URL
,再使用 Github 凭据登录。 - 在 OpenShift 控制台右上角,点您的名称并点击 Copy Login Command。
- 选择您添加的 IDP 的名称(在这里是 github-1),然后点 Display Token。
将
oc
login 命令复制并粘贴到终端中。oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443
$ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于使用 HCP 集群的 ROSA,使用端口号
443。
输出示例
Logged into "https://api.rh-rosa-cluster1.j9n4.s1.devshift.org:6443" as "rh-rosa-test-user" using the token provided. You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default".
Logged into "https://api.rh-rosa-cluster1.j9n4.s1.devshift.org:6443" as "rh-rosa-test-user" using the token provided.
1 You have access to 67 projects, the list has been suppressed. You can list all projects with 'oc projects' Using project "default".
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 对于使用 HCP 集群的 ROSA,端口号应为
443。
输入一个简单的
oc
命令,以验证一切设置是否正确且已登录。oc version
$ oc version
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Client Version: 4.4.0-202005231254-4a4cd75 Server Version: 4.3.18 Kubernetes Version: v1.16.2
Client Version: 4.4.0-202005231254-4a4cd75 Server Version: 4.3.18 Kubernetes Version: v1.16.2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.3. 授予 cluster-admin 访问权限 复制链接链接已复制到粘贴板!
作为创建集群的用户,将 cluster-admin
用户角色添加到您的帐户中,使其具有最大管理员特权。创建集群时,这些权限不会自动分配给您的用户帐户。
另外,只有创建集群的用户才能向其他 cluster-admin
或 dedicated-admin
用户授予集群访问权限。具有 dedicated-admin
访问权限的用户具有较少的特权。作为最佳实践,将 cluster-admin
用户数量限制为尽量少。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有要创建的用户的 IDP 用户名。
- 已登陆到集群。
流程
授予用户
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>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证您的用户是否以集群管理员身份列出:
rosa list users --cluster=<cluster_name>
$ rosa list users --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
GROUP NAME cluster-admins rh-rosa-test-user dedicated-admins rh-rosa-test-user
GROUP NAME cluster-admins rh-rosa-test-user dedicated-admins rh-rosa-test-user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令验证您的用户现在是否有
cluster-admin
访问权限。集群管理员可以在不出错的情况下运行此命令,但一个专用的管理员无法运行。oc get all -n openshift-apiserver
$ oc get all -n openshift-apiserver
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
7.4. 授予 dedicated-admin 访问权限 复制链接链接已复制到粘贴板!
只有创建集群的用户才能向其他 cluster-admin
或 dedicated-admin
用户授予集群访问权限。具有 dedicated-admin
访问权限的用户具有较少的特权。作为最佳实践,为您的大多数管理员授予 dedicated-admin
访问权限。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有要创建的用户的 IDP 用户名。
- 已登陆到集群。
流程
输入以下命令将用户提升到
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 输入以下命令验证您的用户现在是否有
dedicated-admin
访问权限:oc get groups dedicated-admins
$ oc get groups dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
NAME USERS dedicated-admins rh-rosa-test-user
NAME USERS dedicated-admins rh-rosa-test-user
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果用户没有
dedicated-admin
权限,则会显示Forbidden
错误。
第 8 章 为 STS 配置身份提供程序 复制链接链接已复制到粘贴板!
创建 Red Hat OpenShift Service on AWS (ROSA)集群后,您必须配置身份提供程序,以确定用户如何登录以访问集群。
以下主题描述了如何使用 OpenShift Cluster Manager 控制台配置身份提供程序。另外,您可以使用 ROSA CLI (rosa
)来配置身份提供程序并访问集群。
8.1. 了解身份提供程序 复制链接链接已复制到粘贴板!
Red Hat OpenShift Service on AWS 包括内置的 OAuth 服务器。开发人员和管理员获取 OAuth 访问令牌,以完成自身的 API 身份验证。作为管理员,您可以在安装集群后通过配置 OAuth 来指定身份提供程序。配置身份提供程序可让用户登录和访问集群。
8.1.1. 支持的身份提供程序 复制链接链接已复制到粘贴板!
您可以配置以下类型的身份提供程序:
用户身份提供程序 | 描述 |
---|---|
Github 或 GitHub Enterprise | 配置 GitHub 身份提供程序,针对 GitHub 或 GitHub Enterprise 的 OAuth 身份验证服务器验证用户名和密码。 |
GitLab | 配置 GitLab 身份提供程序,以使用 GitLab.com 或任何其他 GitLab 实例作为身份提供程序。 |
| 使用 Google’s OpenID Connect integration 配置 Google 身份提供程序。 |
LDAP | 配置 LDAP 身份提供程序,使用简单绑定身份验证来针对 LDAPv3 服务器验证用户名和密码。 |
OpenID Connect | 配置 OpenID Connect (OIDC) 身份提供程序,以使用授权代码流与 OIDC 身份提供程序集成。 |
htpasswd | 为单个静态管理用户配置 htpasswd 身份提供程序。您可以以用户身份登录到集群来排除问题。 重要 htpasswd 身份提供程序选项仅用于创建单一静态管理用户。htpasswd 不支持作为 Red Hat OpenShift Service on AWS 的通用身份提供程序。有关配置单个用户的步骤,请参阅配置 htpasswd 身份提供程序。 |
8.1.2. 身份提供程序参数 复制链接链接已复制到粘贴板!
以下是所有身份提供程序通用的参数:
参数 | 描述 |
---|---|
| 此提供程序名称作为前缀放在提供程序用户名前,以此组成身份名称。 |
| 定义在用户登录时如何将新身份映射到用户。输入以下值之一:
|
在添加或更改身份提供程序时,您可以通过把 mappingMethod
参数设置为 add
,将新提供程序中的身份映射到现有的用户。
8.2. 配置 GitHub 身份提供程序 复制链接链接已复制到粘贴板!
配置 GitHub 身份提供程序,针对 GitHub 或 GitHub Enterprise 的 OAuth 身份验证服务器验证用户名和密码,并访问 Red Hat OpenShift Service on AWS 集群。OAuth 有助于 Red Hat OpenShift Service on AWS 和 GitHub 或 GitHub Enterprise 之间的令牌交换流。
配置 GitHub 身份验证后,用户可以使用 GitHub 凭证登录 Red Hat OpenShift Service on AWS。要防止具有任何 GitHub 用户 ID 的任何人登录到 Red Hat OpenShift Service on AWS 集群,您必须将访问权限限制为只有特定 GitHub 机构或团队中的访问权限。
前提条件
- OAuth 应用程序必须直接由 GitHub 机构管理员在 GitHub 机构设置中创建。
- GitHub 机构或团队 在您的 GitHub 帐户中设置。
流程
- 在 OpenShift Cluster Manager 中,导航到 Cluster List 页面,再选择您需要为其配置身份提供程序的集群。
- 点 Access control 选项卡。
点 Add identity provider。
注意您还可以点在集群创建后显示的警告信息中的 Add Oauth 配置 链接来配置身份提供程序。
- 从下拉菜单中选择 GitHub。
输入身份提供程序的唯一名称。之后无法更改此名称。
在提供的字段中自动生成 OAuth 回调 URL。您将使用它来注册 GitHub 应用。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 在 GitHub 上注册应用程序。
- 返回到 Red Hat OpenShift Service on AWS,并从下拉菜单中选择映射方法。在大多数情况下推荐使用 声明。
- 输入 GitHub 提供的客户端 ID 和客户端 secret。
- 输入一个主机名。在使用托管 GitHub Enterprise 实例时,必须输入一个主机名。
- 可选: 您可以指定证书颁发机构 (CA) 文件来验证配置的 GitHub Enterprise URL 的服务器证书。点 Browse 找到并附加 CA 文件到身份提供程序。
- 选择 Use organizations 或 Use teams 以限制对特定 GitHub 组织或 GitHub 团队的访问。
- 输入您要限制访问权限的机构或团队的名称。点 Add more 指定用户可以成为用户所属的多个机构或团队。
- 单击 Confirm。
验证
- 配置的身份提供程序现在在 Cluster List 页面的 Access control 选项卡中可见。
8.3. 配置 GitLab 身份提供程序 复制链接链接已复制到粘贴板!
配置 GitLab 身份提供程序,以使用 GitLab.com 或任何其他 GitLab 实例作为身份提供程序。
前提条件
- 如果使用 GitLab 版本 7.7.0 到 11.0,您可以使用 OAuth 集成进行连接。如果使用 GitLab 版本 11.1 或更高版本,您可以使用 OpenID Connect (OIDC) 进行连接,而不使用 OAuth。
流程
- 在 OpenShift Cluster Manager 中,导航到 Cluster List 页面,再选择您需要为其配置身份提供程序的集群。
- 点 Access control 选项卡。
点 Add identity provider。
注意您还可以点在集群创建后显示的警告信息中的 Add Oauth 配置 链接来配置身份提供程序。
- 从下拉菜单中选择 GitLab。
输入身份提供程序的唯一名称。之后无法更改此名称。
在提供的字段中自动生成 OAuth 回调 URL。您将提供此 URL 到 GitLab。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/gitlab
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/gitlab
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 在 GitLab 中添加新应用程序。
- 返回到 Red Hat OpenShift Service on AWS,并从下拉菜单中选择映射方法。在大多数情况下推荐使用 声明。
- 输入 GitLab 提供的客户端 ID 和客户端 secret。
- 输入 GitLab 供应商的 URL。
- 可选: 您可以使用证书颁发机构 (CA) 文件来验证配置的 GitLab URL 的服务器证书。点 Browse 找到并附加 CA 文件到身份提供程序。
- 单击 Confirm。
验证
- 配置的身份提供程序现在在 Cluster List 页面的 Access control 选项卡中可见。
8.4. 配置 Google 身份提供程序 复制链接链接已复制到粘贴板!
配置 Google 身份提供程序,以便用户通过 Google 凭证进行身份验证。
使用 Google 作为身份提供程序时,任何 Google 用户都能与您的服务器进行身份验证。您可以使用 hostedDomain
配置属性,将身份验证限制为特定托管域的成员。
流程
- 在 OpenShift Cluster Manager 中,导航到 Cluster List 页面,再选择您需要为其配置身份提供程序的集群。
- 点 Access control 选项卡。
点 Add identity provider。
注意您还可以点在集群创建后显示的警告信息中的 Add Oauth 配置 链接来配置身份提供程序。
- 从下拉菜单中选择 Google。
输入身份提供程序的唯一名称。之后无法更改此名称。
在提供的字段中自动生成 OAuth 回调 URL。您将为 Google 提供此 URL。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/google
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/google
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 使用 Google’s OpenID Connect integration 配置 Google 身份提供程序。
- 返回到 Red Hat OpenShift Service on AWS,并从下拉菜单中选择映射方法。在大多数情况下推荐使用 声明。
- 输入注册 Google 项目的客户端 ID,以及 Google 发布的客户端 secret。
- 输入托管域,将用户限制到 Google Apps 域。
- 单击 Confirm。
验证
- 配置的身份提供程序现在在 Cluster List 页面的 Access control 选项卡中可见。
8.5. 配置 LDAP 身份提供程序 复制链接链接已复制到粘贴板!
配置 LDAP 身份提供程序,以使用简单绑定身份验证针对 LDAPv3 服务器验证用户名和密码。
前提条件
在配置 LDAP 身份提供程序时,您需要输入配置的 LDAP URL。配置的 URL 是 RFC 2255 URL,指定要使用的 LDAP 主机和搜索参数。URL 的语法是:
ldap://host:port/basedn?attribute?scope?filter
ldap://host:port/basedn?attribute?scope?filter
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Expand URL 组件 描述 ldap
对于常规 LDAP,使用
ldap
字符串。对于安全 LDAP (LDAPS),改为使用ldaps
。host:port
LDAP 服务器的名称和端口。LDAP 默认为
localhost:389
,LDAPS 则默认为localhost:636
。basedn
所有搜索都应从中开始的目录分支的 DN。至少,这必须是目录树的顶端,但也可指定目录中的子树。
attribute
要搜索的属性。虽然 RFC 2255 允许使用逗号分隔属性列表,但无论提供多少个属性,都仅使用第一个属性。如果没有提供任何属性,则默认使用
uid
。建议选择一个在您使用的子树中的所有条目间是唯一的属性。scope
搜索的范围。可以是
one
或sub
。如果未提供范围,则默认使用sub
范围。filter
有效的 LDAP 搜索过滤器。如果未提供,则默认为
(objectClass=*)
在进行搜索时,属性、过滤器和提供的用户名会组合在一起,创建类似如下的搜索过滤器:
(&(<filter>)(<attribute>=<username>))
(&(<filter>)(<attribute>=<username>))
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要如果 LDAP 目录需要身份验证才能搜索,请指定用于执行条目搜索的
bindDN
和bindPassword
。
流程
- 在 OpenShift Cluster Manager 中,导航到 Cluster List 页面,再选择您需要为其配置身份提供程序的集群。
- 点 Access control 选项卡。
点 Add identity provider。
注意您还可以点在集群创建后显示的警告信息中的 Add Oauth 配置 链接来配置身份提供程序。
- 从下拉菜单中选择 LDAP。
- 输入身份提供程序的唯一名称。之后无法更改此名称。
- 从下拉菜单中选择映射方法。在大多数情况下推荐使用 声明。
- 输入 LDAP URL 以指定要使用的 LDAP 搜索参数。
- 可选:输入 绑定 DN 和 绑定密码。
输入将 LDAP 属性映射到身份的属性。
- 输入 ID 属性,其值应用作用户 ID。点 Add more 来添加多个 ID 属性。
- 可选:输入一个 Preferred username 属性,其值应用作显示名称。点 Add more 来添加多个首选用户名属性。
- 可选:输入 Email 属性,其值应用作电子邮件地址。点 Add more 来添加多个电子邮件属性。
- 可选:点 Show advanced Options 将证书颁发机构 (CA) 文件添加到 LDAP 身份提供程序中,以验证所配置 URL 的服务器证书。点 Browse 找到并附加 CA 文件到身份提供程序。
可选:在高级选项下,您可以选择使 LDAP 供应商不安全。如果您选择这个选项,则无法使用 CA 文件。
重要如果您使用不安全的 LDAP 连接(ldap:// 或端口 389),则必须在配置向导中检查 Insecure 选项。
- 单击 Confirm。
验证
- 配置的身份提供程序现在在 Cluster List 页面的 Access control 选项卡中可见。
8.6. 配置 OpenID 身份提供程序 复制链接链接已复制到粘贴板!
配置 OpenID 身份提供程序,以使用授权代码流与 OpenID Connect 身份提供程序集成。
Red Hat OpenShift Service on AWS 中的 Authentication Operator 要求配置的 OpenID Connect 身份提供程序实现 OpenID Connect Discovery 规格。
声明可读取自从 OpenID 身份提供程序返回的 JWT id_token
;若有指定,也可读取自从 Issuer URL 返回的 JSON。
必须至少配置一个声明,以用作用户的身份。
您还可以指定将哪些声明用作用户的首选用户名、显示名称和电子邮件地址。如果指定了多个声明,则使用第一个带有非空值的声明。标准的声明是:
声明 | 描述 |
---|---|
|
置备用户时的首选用户名。用户希望使用的简写名称,如 |
| 电子邮件地址。 |
| 显示名称。 |
如需更多信息,请参阅 OpenID 声明文档。
前提条件
- 在配置 OpenID Connect 前,请检查您要用于 Red Hat OpenShift Service on AWS 集群的红帽产品或服务的安装先决条件。
流程
- 在 OpenShift Cluster Manager 中,导航到 Cluster List 页面,再选择您需要为其配置身份提供程序的集群。
- 点 Access control 选项卡。
点 Add identity provider。
注意您还可以点在集群创建后显示的警告信息中的 Add Oauth 配置 链接来配置身份提供程序。
- 从下拉菜单中选择 OpenID。
输入身份提供程序的唯一名称。之后无法更改此名称。
在提供的字段中自动生成 OAuth 回调 URL。
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/openid
https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/openid
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 按照 创建授权请求 的步骤在 OpenID 身份提供程序中注册新的 OpenID Connect 客户端。
- 返回到 Red Hat OpenShift Service on AWS,并从下拉菜单中选择映射方法。在大多数情况下推荐使用 声明。
- 输入 OpenID 提供的客户端 ID 和客户端 secret。
- 输入 Issuer URL。这是 OpenID 供应商断言为 Issuer 标识符的 URL。它必须使用没有 URL 查询参数或片段的 https 方案。
- 输入 Email 属性,其值应用作电子邮件地址。点 Add more 来添加多个电子邮件属性。
- 输入 Name 属性,其值应用作首选用户名。点 Add more 来添加多个首选用户名。
- 输入 Preferred username 属性,其值应用作显示名称。点 Add more 来添加多个显示名称。
- 可选:点 Show advanced Options 将证书颁发机构 (CA) 文件添加到 OpenID 身份提供程序中。
-
可选:在高级选项下,您可以添加 其他范围。默认情况下,请求
OpenID
范围。 - 单击 Confirm。
验证
- 配置的身份提供程序现在在 Cluster List 页面的 Access control 选项卡中可见。
8.7. 配置 htpasswd 身份提供程序 复制链接链接已复制到粘贴板!
配置 htpasswd 身份提供程序,以创建具有集群管理特权的单个静态用户。您可以以用户身份登录集群来排除问题。
htpasswd 身份提供程序选项仅用于创建单一静态管理用户。htpasswd 不支持作为 Red Hat OpenShift Service on AWS 的通用身份提供程序。
流程
- 在 OpenShift Cluster Manager 中,导航到 Cluster List 页面并选择您的集群。
- 选择 Access control → Identity provider。
- 点 Add identity provider。
- 从 Identity Provider 下拉菜单中选择 HTPasswd。
- 在身份提供程序的 Name 字段中添加唯一名称。
为静态用户使用推荐的用户名和密码,或者自行创建。
注意在以下步骤中选择 Add 后,此步骤中定义的凭证不可见。如果丢失了凭证,您必须重新创建身份提供程序并再次定义凭证。
- 选择 Add 来创建 htpasswd 身份提供程序和单一静态用户。
授予静态用户权限来管理集群:
- 在 Access control → Cluster Roles and Access 下,选择 Add user。
- 输入您在上一步中创建的静态用户的用户 ID。
-
选择一个 组。
dedicated-admins
组中的用户具有 Red Hat OpenShift Service on AWS 的标准管理特权。cluster-admins
组中的用户对集群具有完全的管理访问权限。 - 选择 Add user 为用户授予管理权限。
验证
配置的 htpasswd 身份提供程序在 Access control → Identity provider 页面中可见。
注意创建身份提供程序后,同步通常在两分钟内完成。您可以在 htpasswd 身份提供程序可用后以用户身份登录集群。
- 单、管理用户在 Access control → Cluster Roles 和 Access 页面中可见。也会显示用户的管理组成员资格。
第 9 章 撤销对 ROSA 集群的访问 复制链接链接已复制到粘贴板!
身份提供程序(IDP)控制对 Red Hat OpenShift Service on AWS (ROSA)集群的访问。要撤销用户对集群的访问,您必须在为身份验证设置的 IDP 中配置。
9.1. 使用 ROSA CLI 撤销管理员访问权限 复制链接链接已复制到粘贴板!
您可以撤销用户的管理员访问权限,以便在没有管理员特权的情况下访问集群。要删除用户的管理员访问权限,您必须撤销 dedicated-admin
或 cluster-admin
权限。您可以使用 Red Hat OpenShift Service on AWS (ROSA) CLI、rosa
或 OpenShift Cluster Manager 控制台撤销管理员特权。
9.1.1. 使用 ROSA CLI 撤销 dedicated-admin 访问 复制链接链接已复制到粘贴板!
如果您是创建集群、机构管理员用户或超级用户用户的用户,您可以撤销 dedicated-admin
用户的访问权限。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有 IDP 用户名,用于撤销其权限的用户。
- 已登陆到集群。
流程
输入以下命令撤销用户的
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 输入以下命令验证您的用户是否不再具有
dedicated-admin
访问权限。输出不会列出撤销的用户。oc get groups dedicated-admins
$ oc get groups dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.1.2. 使用 ROSA CLI 撤销 cluster-admin 访问 复制链接链接已复制到粘贴板!
只有创建集群的用户才能撤销 cluster-admin
用户的访问权限。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有 IDP 用户名,用于撤销其权限的用户。
- 已登陆到集群。
流程
输入以下命令撤销用户的
cluster-admin
访问权限:rosa revoke user cluster-admins --user=myusername --cluster=mycluster
$ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令验证用户是否不再具有
cluster-admin
访问权限。输出不会列出撤销的用户。oc get groups cluster-admins
$ oc get groups cluster-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
9.2. 使用 OpenShift Cluster Manager 控制台撤销管理员访问权限 复制链接链接已复制到粘贴板!
您可以通过 OpenShift Cluster Manager 控制台撤销用户的 dedicated-admin
或 cluster-admin
访问权限。用户可以在没有管理员特权的情况下访问集群。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有 IDP 用户名,用于撤销其权限的用户。
- 您使用用于创建集群的 OpenShift Cluster Manager 帐户、机构管理员用户或超级用户登录到 OpenShift Cluster Manager 控制台。
流程
- 在 OpenShift Cluster Manager 的 Cluster List 选项卡中,选择集群名称来查看集群详情。
- 选择 Access control > Cluster Roles and Access。
-
对于您要删除的用户,点用户和组组合右侧的 Options 菜单
,然后点 Delete。
第 10 章 删除 ROSA 集群 复制链接链接已复制到粘贴板!
本文档提供了删除使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群的步骤。删除集群后,您还可以删除集群使用的 AWS Identity and Access Management (IAM)资源。
10.1. 前提条件 复制链接链接已复制到粘贴板!
如果 Red Hat OpenShift Service on AWS 创建了一个 VPC,则必须从集群中删除以下项目,然后才能成功删除集群:
- 网络配置,如 VPN 配置和 VPC 对等连接
- 添加到 VPC 的任何其他服务
如果这些配置和服务仍然存在,集群不会正确删除。
10.2. 删除 ROSA 集群和特定于集群的 IAM 资源 复制链接链接已复制到粘贴板!
您可以使用 ROSA CLI (rosa
) 或 Red Hat OpenShift Cluster Manager 删除使用 AWS 安全令牌服务(STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群。
删除集群后,您可以使用 ROSA CLI (rosa
) 清理 AWS 帐户中特定于集群的 Identity and Access Management (IAM) 资源。特定于集群的资源包括 Operator 角色和 OpenID Connect (OIDC)供应商。
集群删除必须在删除 IAM 资源前完成,因为集群删除和清理过程会用到这些资源。
如果安装了附加组件,集群删除需要更长的时间,因为在删除集群前卸载附加组件。时间量取决于附加组件的数量和大小。
如果在安装过程中创建 VPC 的集群被删除,相关的安装程序创建的 VPC 也会被删除,从而导致所有使用同一 VPC 的集群失败。另外,任何使用由安装程序创建的资源相同的 tagSet
键值对创建的,且带有值为 owned
的标签的资源也会被删除。
前提条件
- 已安装 ROSA 集群。
-
您已在安装主机上安装并配置了最新的 ROSA CLI (
rosa
)。
流程
获取集群 ID、特定于集群 Operator 角色的 Amazon 资源名称 (ARN) 和 OIDC 供应商的端点 URL:
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --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 重要在删除集群后,您需要集群 ID 来使用 ROSA CLI (
rosa
)删除特定于集群的 STS 资源。删除集群:
使用 Red Hat OpenShift Cluster Manager 删除集群:
- 导航到 OpenShift Cluster Manager。
-
点集群
旁边的 Options 菜单并选择 Delete cluster。
- 在提示符处键入集群名称并点 Delete。
使用 ROSA CLI (
rosa
)删除集群:输入以下命令删除集群并观察日志,将 <
cluster_name&
gt; 替换为集群的名称或 ID:rosa delete cluster --cluster=<cluster_name> --watch
$ rosa delete cluster --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在删除 Operator 角色和 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 角色:
重要帐户范围的 IAM 角色可供同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。
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 角色无法删除 集群,请参阅额外修复无法删除的集群。
如果因为其他原因无法删除集群:
- 检查 混合云控制台中 是否有待处理的集群的附加组件。
- 检查 Amazon Web 控制台中是否删除了所有 AWS 资源和依赖项。
10.3. 删除集群范围的 IAM 资源 复制链接链接已复制到粘贴板!
在删除了所有依赖于帐户范围的 AWS Identity and Access Management (IAM)资源的 ROSA 后,您可以删除帐户范围内的资源。
如果您不再需要使用 Red Hat OpenShift Cluster Manager 安装带有 HCP 集群的 ROSA,您也可以删除 OpenShift Cluster Manager 和用户 IAM 角色。
帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的 HCP 集群使用。只有资源不再被其他集群需要时,才删除这些资源。
如果要使用 OpenShift Cluster Manager 安装、管理和删除使用 HCP 集群的其他 ROSA 集群,则需要 OpenShift Cluster Manager 和用户 IAM 角色。只有在您不再需要使用 OpenShift Cluster Manager 在帐户中安装带有 HCP 集群时的 ROSA 时,才删除角色。有关在删除前删除这些角色时修复集群的更多信息,请参阅"对集群 部署的故障排除中的修复集群 "。
10.3.1. 删除集群范围的 IAM 角色和策略 复制链接链接已复制到粘贴板!
本节提供了删除您使用 HCP 部署为 ROSA ROSA 创建的帐户范围的 IAM 角色和策略以及帐户范围的 Operator 策略的步骤。只有在删除带有 AWS 安全令牌服务(STS)的 ROSA 集群后,才能使用依赖它们的 HCP 集群删除集群范围的 AWS Identity and Access Management (IAM)角色和策略。
帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中使用带有 HCP 集群的 ROSA (类)ROSA。只有角色不再被其他集群需要时,才删除这些资源。
前提条件
- 您有要删除的帐户范围的 IAM 角色。
-
您已在安装主机上安装并配置了最新的 ROSA CLI (
rosa
)。
流程
删除集群范围的角色:
使用 ROSA CLI 列出 AWS 帐户中的系统范围角色 (
rosa
):rosa list account-roles
$ rosa list account-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed ManagedOpenShift-HCP-ROSA-Installer-Role Installer arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Installer-Role 4.19 Yes ManagedOpenShift-HCP-ROSA-Support-Role Support arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Support-Role 4.19 Yes ManagedOpenShift-HCP-ROSA-Worker-Role Worker arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Worker-Role 4.19 Yes
I: Fetching account roles
ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed
ManagedOpenShift-HCP-ROSA-Installer-Role Installer arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Installer-Role 4.19 Yes
ManagedOpenShift-HCP-ROSA-Support-Role Support arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Support-Role 4.19 Yes
ManagedOpenShift-HCP-ROSA-Worker-Role Worker arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Worker-Role 4.19 Yes
删除集群范围的角色:
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
。
重要帐户范围的 IAM 角色可供同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。
输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 删除集群范围的和 Operator 策略:
在 AWS IAM 控制台中的 Policies 页面中,根据您在创建帐户范围角色和策略时指定的前缀过滤策略列表。
注意如果您在创建集群范围的角色时没有指定自定义前缀,请搜索默认前缀
ManagedOpenShift
。使用 AWS IAM 控制台删除集群范围的策略和 Operator 策略。有关使用 AWS IAM 控制台删除 IAM 策略的更多信息,请参阅 AWS 文档中的删除 IAM 策略。
重要帐户范围的和 Operator IAM 策略可供同一 AWS 帐户中使用带有 HCP 集群的 ROSA (类)ROSA。只有角色不再被其他集群需要时,才删除这些资源。
10.3.2. 取消链接和删除 OpenShift Cluster Manager 和用户 IAM 角色 复制链接链接已复制到粘贴板!
当使用 Red Hat OpenShift Cluster Manager 安装带有 HCP 集群的 ROSA 时,您还可以创建 OpenShift Cluster Manager 和用户 Identity and Access Management (IAM)角色来链接到您的红帽机构。删除集群后,您可以使用 ROSA CLI (rosa
) 取消链接和删除角色。
如果要使用 OpenShift Cluster Manager 在同一个 AWS 帐户中使用 HCP 安装和管理其他 ROSA,则需要 OpenShift Cluster Manager 和用户 IAM 角色。只有在不再使用 OpenShift Cluster Manager 来安装使用 HCP 集群的 ROSA 时,才删除角色。
前提条件
- 您创建了 OpenShift Cluster Manager 和用户 IAM 角色,并将其链接到您的红帽机构。
-
您已在安装主机上安装并配置了最新的 ROSA CLI (
rosa
)。 - 在 Red Hat 机构中具有机构管理员特权。
流程
从红帽机构取消链接 OpenShift Cluster Manager IAM 角色并删除角色:
列出 AWS 帐户中的 OpenShift Cluster Manager IAM 角色:
rosa list ocm-roles
$ rosa list ocm-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Fetching ocm roles ROLE NAME ROLE ARN LINKED ADMIN AWS Managed ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> Yes Yes Yes
I: Fetching ocm roles ROLE NAME ROLE ARN LINKED ADMIN AWS Managed ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> Yes Yes Yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的 OpenShift Cluster Manager IAM 角色在上一命令的输出中被列为链接,请运行以下命令来取消链接红帽机构中的角色:
rosa unlink ocm-role --role-arn <arn>
$ rosa unlink ocm-role --role-arn <arn>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<arn
> 替换为 OpenShift Cluster Manager IAM 角色的 Amazon Resource Name (ARN)。ARN 在上一命令的输出中指定。在上例中,ARN 的格式为arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id
>。
输出示例
I: Unlinking OCM role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'
I: Unlinking OCM role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除 OpenShift Cluster Manager IAM 角色和策略:
rosa delete ocm-role --role-arn <arn>
$ rosa delete ocm-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Deleting OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Delete 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' ocm role? Yes ? OCM role deletion mode: auto I: Successfully deleted the OCM role
I: Deleting OCM role ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> ? Delete 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' ocm role? Yes ? OCM role deletion mode: auto
1 I: Successfully deleted the OCM role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定删除模式。您可以使用
auto
模式自动删除 OpenShift Cluster Manager IAM 角色和策略。在手动模式中
,ROSA CLI 生成删除角色和策略所需的aws
命令。manual
模式允许您在手动运行aws
命令前查看详情。
从您的红帽机构中取消链接用户 IAM 角色并删除角色:
列出 AWS 帐户中的用户 IAM 角色:
rosa list user-roles
$ rosa list user-roles
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User-<ocm_user_name>-Role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role Yes
I: Fetching user roles ROLE NAME ROLE ARN LINKED ManagedOpenShift-User-<ocm_user_name>-Role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role Yes
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果您的用户 IAM 角色在上一命令的输出中被列为链接,请取消链接您的红帽机构中的角色:
rosa unlink user-role --role-arn <arn>
$ rosa unlink user-role --role-arn <arn>
1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
<arn
> 替换为您的用户 IAM 角色的 Amazon Resource Name (ARN)。ARN 在上一命令的输出中指定。在上例中,ARN 格式为arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role
。
输出示例
I: Unlinking user role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the current account '<ocm_user_account_id>'? Yes I: Successfully unlinked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' from account '<ocm_user_account_id>'
I: Unlinking user role ? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the current account '<ocm_user_account_id>'? Yes I: Successfully unlinked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' from account '<ocm_user_account_id>'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 删除用户 IAM 角色:
rosa delete user-role --role-arn <arn>
$ rosa delete user-role --role-arn <arn>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Deleting user role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role ? Delete the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the AWS account? Yes ? User role deletion mode: auto I: Successfully deleted the user role
I: Deleting user role ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role ? Delete the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<ocm_user_name>-Role' role from the AWS account? Yes ? User role deletion mode: auto
1 I: Successfully deleted the user role
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 指定删除模式。您可以使用
auto
模式自动删除用户 IAM 角色。在手动
模式中,ROSA CLI 生成删除角色所需的aws
命令。manual
模式允许您在手动运行aws
命令前查看详情。
第 11 章 在不使用 AWS STS 的情况下部署 ROSA 复制链接链接已复制到粘贴板!
11.1. ROSA 的 AWS 先决条件 复制链接链接已复制到粘贴板!
Red Hat OpenShift Service on AWS (ROSA)提供了一个模型,它允许红帽将集群部署到客户的现有 Amazon Web Service (AWS)帐户中。
您必须确保在安装 ROSA 前满足先决条件。此要求文档不适用于 AWS 安全令牌服务(STS)。如果使用 STS,请参阅 特定于 STS 的要求。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.1.1. 客户需求 复制链接链接已复制到粘贴板!
在部署前,Red Hat OpenShift Service on AWS (ROSA)集群必须满足几个先决条件。
要创建集群,用户必须以 IAM 用户身份登录,而不是假定的角色或 STS 用户。
11.1.1.1. 帐户 复制链接链接已复制到粘贴板!
- 客户可确保 AWS limits 足以支持在客户 AWS 帐户中置备 Red Hat OpenShift Service on AWS。
客户的 AWS 帐户应该位于客户具有适用服务控制策略 (SCP) 的 AWS 机构中。
注意不要求客户的帐户位于 AWS 机构内或要应用的 SCP,但红帽必须能够在不限制限制的情况下执行 SCP 中列出的所有操作。
- 客户的 AWS 帐户不能转移到红帽。
- 客户可能不会对红帽活动施加 AWS 使用限制。受损限制将严重阻碍红帽响应事件的能力。
客户可以在同一 AWS 帐户内部署原生 AWS 服务。
注意我们鼓励客户在 Virtual Private Cloud (VPC)中部署与托管 Red Hat OpenShift Service on AWS 和其他红帽支持服务的 VPC 中的资源。
11.1.1.2. 访问要求 复制链接链接已复制到粘贴板!
要在 AWS 服务上正确管理 Red Hat OpenShift Service,红帽始终必须将
AdministratorAccess
策略应用到管理员角色。如果您使用 AWS 安全令牌服务(STS),则此要求 不适用。注意此策略只为红帽提供更改客户提供的 AWS 帐户中资源的权限和功能。
- 红帽必须具有 AWS 控制台访问客户提供的 AWS 帐户。此访问受红帽保护和管理。
- 客户不得使用 AWS 帐户在 Red Hat OpenShift Service on AWS 集群中提升其权限。
-
Red Hat OpenShift Service on AWS (ROSA) CLI、
rosa
或 OpenShift Cluster Manager 控制台中提供的操作不能直接在客户的 AWS 帐户中执行。
11.1.1.3. 支持要求 复制链接链接已复制到粘贴板!
- 红帽建议客户从 AWS 至少有 业务支持。
- 红帽有权代表他们要求 AWS 支持。
- 红帽有客户授权来请求 AWS 资源限制来增加客户的帐户。
- 除非在此要求部分中另有指定,否则红帽会以相同的方式管理所有 Red Hat OpenShift Service on AWS 集群的限制、限制、预期和默认值。
11.1.1.4. 安全要求 复制链接链接已复制到粘贴板!
- 卷快照将保留在客户的 AWS 帐户和客户指定的区域。
- 红帽必须具有来自允许 IP 地址的对 EC2 主机和 API 服务器的入口访问权限。
- 红帽必须有出口状态,才能将系统和审计日志转发到红帽管理的中央日志记录堆栈。
11.1.2. 所需的客户流程 复制链接链接已复制到粘贴板!
在部署 Red Hat OpenShift Service on AWS (ROSA)前完成这些步骤。
流程
11.1.2.1. 服务控制策略的最小有效权限集(SCP) 复制链接链接已复制到粘贴板!
服务控制策略(SCP)是一种机构策略类型,可管理您的机构中的权限。SCP 可确保您机构中的帐户保留在您定义的访问控制指南中。这些策略在 AWS 机构中维护,并控制附加的 AWS 帐户中可用的服务。SCP 管理是客户的职责。
使用 AWS 安全令牌服务(STS)时,最低 SCP 要求不适用。有关 STS 的更多信息,请参阅使用 STS 的 ROSA 的 AWS 先决条件。
验证您的服务控制策略(SCP)是否不限制任何这些所需的权限。
Service | Actions | 效果 | |
---|---|---|---|
必需 | Amazon EC2 | All | Allow |
Amazon EC2 自动扩展 | All | Allow | |
Amazon S3 | All | Allow | |
身份和访问管理 | All | Allow | |
Elastic Load Balancing | All | Allow | |
Elastic Load Balancing V2 | All | Allow | |
Amazon CloudWatch | All | Allow | |
Amazon CloudWatch Events | All | Allow | |
Amazon CloudWatch Logs | All | Allow | |
AWS EC2 实例连接 | SendSerialConsoleSSHPublicKey | Allow | |
AWS Support | All | Allow | |
AWS 密钥管理服务 | All | Allow | |
AWS 安全令牌服务 | All | Allow | |
AWS Tiro | CreateQuery GetQueryAnswer GetQueryExplanation | Allow | |
AWS Marketplace | Subscription 取消订阅 查看订阅 | Allow | |
AWS Resource Tagging | All | Allow | |
AWS Route53 DNS | All | Allow | |
AWS Service Quotas | ListServices GetRequestedServiceQuotaChange GetServiceQuota RequestServiceQuotaIncrease ListServiceQuotas | Allow | |
选填 | AWS Billing | ViewAccount Viewbilling ViewUsage | Allow |
AWS 成本和使用量报告 | All | Allow | |
AWS Cost Explorer Services | All | Allow |
11.1.3. Red Hat managed IAM reference for AWS 复制链接链接已复制到粘贴板!
红帽负责创建和管理以下 Amazon Web Services (AWS)资源:IAM 策略、IAM 用户和 IAM 角色。
11.1.3.1. IAM 策略 复制链接链接已复制到粘贴板!
IAM 策略可能会根据 Red Hat OpenShift Service on AWS 的功能进行修改。
AdministratorAccess
策略由管理角色使用。此策略提供了在客户 AWS 帐户中管理 AWS (ROSA)集群的 Red Hat OpenShift Service 所需的访问权限。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.1.3.2. IAM 用户 复制链接链接已复制到粘贴板!
在将 ROSA 安装到客户的 AWS 帐户后,osdManagedAdmin
用户会立即创建。
11.1.4. 置备的 AWS 基础架构 复制链接链接已复制到粘贴板!
这是在部署的 ROSA (经典)集群中置备的 Amazon Web Services (AWS)组件的概述。
11.1.4.1. EC2 实例 复制链接链接已复制到粘贴板!
为 ROSA (类ic)部署 control plane 和数据平面功能需要 AWS EC2 实例。
根据 worker 节点数,实例类型可能会因 control plane 和基础架构节点而异。
至少部署以下 EC2 实例:
-
三个
m5.2xlarge
control plane 节点 -
两个
r5.xlarge
基础架构节点 -
两个
m5.xlarge
worker 节点
worker 节点显示的实例类型是默认值,但您可以根据工作负载需求自定义 worker 节点的实例类型。
11.1.4.2. Amazon Elastic Block Store 存储 复制链接链接已复制到粘贴板!
Amazon Elastic Block Store (Amazon EBS)块存储用于本地节点存储和持久性卷存储。默认情况下,为每个 EC2 实例置备以下存储:
Control Plane 卷
- 大小:350GB
- 类型: gp3
- 每秒输入/输出操作: 1000
基础架构卷
- 大小:300GB
- 类型: gp3
- 每秒输入/输出操作:900
Worker 卷
- 默认大小:300 GiB (可在创建时调整)
- 最小大小:128GB
- 类型: gp3
- 每秒输入/输出操作:900
在 OpenShift Container Platform 4.11 发布前部署的集群默认使用 gp2 类型存储。
11.1.4.3. Elastic Load Balancing 复制链接链接已复制到粘贴板!
每个集群最多可以使用两个 Classic Load Balancers 用于应用程序路由器,最多可有两个网络负载平衡器用于 API。
如需更多信息,请参阅 AWS 的 ELB 文档。
11.1.4.4. S3 存储 复制链接链接已复制到粘贴板!
镜像 registry 由 AWS S3 存储支持。定期修剪资源以优化 S3 使用量和集群性能。
需要两个存储桶,每个 bucket 典型的大小为 2TB。
11.1.4.5. VPC 复制链接链接已复制到粘贴板!
根据以下要求配置 VPC:
子网 :每个集群都需要每个可用区最少有一个私有子网。例如,单区集群需要 1 个专用子网,并且具有 3 个可用区的集群需要 3 个专用子网。
如果您的集群需要直接访问集群外部的网络,包括公共互联网,则需要至少一个公共子网。
红帽强烈建议为每个集群使用不同的子网。不建议在多个集群间共享子网。
注意公共子网 通过互联网网关直接连接到互联网。
专用子网通过网络地址转换 (NAT) 网关连接到互联网。
- 路由表 :每个专用子网一个路由表,每个集群有一个额外的表。
- Internet 网关 :每个集群一个互联网网关。
- NAT 网关 :每个公共子网一个 NAT 网关。
图 11.1. VPC 架构示例
11.1.4.6. 安全组 复制链接链接已复制到粘贴板!
AWS 安全组在协议和端口访问级别提供安全性;它们与 EC2 实例和 Elastic Load Balancing (ELB)负载均衡器关联。每个安全组包含一组规则,这些规则过滤进出一个或多个 EC2 实例的流量。
确保在网络上打开集群安装和操作所需的端口,并配置为允许主机间的访问。默认安全组的要求列在默认安全组 的必要端口中。
组 | 类型 | IP 协议 | 端口范围 |
---|---|---|---|
MasterSecurityGroup |
|
|
|
|
| ||
|
| ||
|
| ||
WorkerSecurityGroup |
|
|
|
|
| ||
BootstrapSecurityGroup |
|
|
|
|
|
11.1.4.6.1. 其他自定义安全组 复制链接链接已复制到粘贴板!
当使用现有非管理的 VPC 创建集群时,您可以在集群安装过程中添加额外的自定义安全组。自定义安全组受以下限制:
- 在创建集群时,您必须在 AWS 中创建自定义安全组。如需更多信息,请参阅 适用于 Linux 实例的 Amazon EC2 安全组。
- 您必须将自定义安全组与集群要安装的 VPC 关联。您的自定义安全组不能与另一个 VPC 关联。
- 如果要添加额外的自定义安全组,您可能需要为 VPC 请求额外的配额。有关 ROSA 的 AWS 配额要求的详情,请参考 准备环境 中的 所需的 AWS 服务配额。有关请求 AWS 配额增加的详情,请参阅 请求配额增加。
11.1.5. 网络先决条件 复制链接链接已复制到粘贴板!
11.1.5.1. 最小带宽 复制链接链接已复制到粘贴板!
在集群部署期间,ROSA (经典)需要集群基础架构和提供部署工件和资源的公共互联网或专用网络位置的最小带宽 120 Mbps。当网络连接比 120 Mbps 慢时(例如,当通过代理进行连接时)集群安装过程会超时,部署会失败。
集群部署后,网络要求由您的工作负载决定。但是,最小带宽 120 Mbps 有助于确保及时地升级集群和操作程序。
11.1.5.2. 使用 STS 的 ROSA (经典)集群的防火墙先决条件 复制链接链接已复制到粘贴板!
只有使用 PrivateLink 部署的 ROSA 集群才能使用防火墙来控制出口流量。
前提条件
- 您已在 AWS Virtual Private Cloud (VPC)中配置了 Amazon S3 网关端点。需要此端点才能完成从集群到 Amazon S3 服务的请求。
流程
允许列出用于安装和下载软件包和工具的以下 URL:
Expand 域 端口 功能 registry.redhat.io
443
提供核心容器镜像。
quay.io
443
提供核心容器镜像。
cdn01.quay.io
443
提供核心容器镜像。
cdn02.quay.io
443
提供核心容器镜像。
cdn03.quay.io
443
提供核心容器镜像。
cdn04.quay.io
443
提供核心容器镜像。
cdn05.quay.io
443
提供核心容器镜像。
cdn06.quay.io
443
提供核心容器镜像。
sso.redhat.com
443
必需。
https://console.redhat.com/openshift
站点使用来自sso.redhat.com
的身份验证下载 pull secret,并使用 Red Hat SaaS 解决方案来简化订阅、集群清单、计费报告等的监控。quay-registry.s3.amazonaws.com
443
提供核心容器镜像。
quayio-production-s3.s3.amazonaws.com
443
提供核心容器镜像。
registry.access.redhat.com
443
托管存储在 Red Hat Ecosytem Catalog 中的所有容器镜像。另外,registry 提供了对
odo
CLI 工具的访问,可帮助开发人员在 OpenShift 和 Kubernetes 上进行构建。access.redhat.com
443
必需。托管容器客户端在从
registry.access.redhat.com
中拉取镜像时验证镜像所需的签名存储。registry.connect.redhat.com
443
所有第三方镜像和认证 Operator 都需要。
console.redhat.com
443
必需。允许集群和 OpenShift Console Manager 之间的交互以启用功能,如调度升级。
sso.redhat.com
443
https://console.redhat.com/openshift
站点使用来自sso.redhat.com
的身份验证pull.q1w2.quay.rhcloud.com
443
当 quay.io 不可用时,提供核心容器镜像作为回退。
catalog.redhat.com
443
registry.access.redhat.com
和https://registry.redhat.io
站点通过catalog.redhat.com
重定向。oidc.op1.openshiftapps.com
443
ROSA 用于带有管理的 OIDC 配置的 STS 实现。
将以下遥测 URL 列入允许列表:
Expand 域 端口 功能 cert-api.access.redhat.com
443
遥测是必需的。
api.access.redhat.com
443
遥测是必需的。
infogw.api.openshift.com
443
遥测是必需的。
console.redhat.com
443
遥测和 Red Hat Insights 需要。
observatorium-mst.api.openshift.com
443
受管 OpenShift 遥测需要。
observatorium.api.openshift.com
443
受管 OpenShift 遥测需要。
受管集群需要启用遥测功能,以便红帽可以更快地对问题做出反应,更好地支持客户,并更好地了解产品升级对集群的影响。有关红帽如何使用远程健康监控数据的更多信息,请参阅附加资源部分 关于远程健康监控 的信息。
允许以下 Amazon Web Services (AWS) API URls:
Expand 域 端口 功能 .amazonaws.com
443
需要此项以访问 AWS 服务和资源。
或者,如果您选择不为 Amazon Web Services (AWS) API 使用通配符,则必须允许列出以下 URL:
Expand 域 端口 功能 ec2.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。
events.<aws_region>.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。
iam.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。
route53.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。
sts.amazonaws.com
443
用于在 AWS 环境中安装和管理集群,用于配置为使用 AWS STS 的全局端点。
sts.<aws_region>.amazonaws.com
443
用于在 AWS 环境中安装和管理集群,用于配置为使用 AWS STS 的区域端点的集群。如需更多信息,请参阅 AWS STS 区域端点。
tagging.us-east-1.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。此端点始终为 us-east-1,无论集群要部署到的区域。
ec2.<aws_region>.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。
elasticloadbalancing.<aws_region>.amazonaws.com
443
用于在 AWS 环境中安装和管理集群。
tagging.<aws_region>.amazonaws.com
443
允许以标签的形式分配 AWS 资源的元数据。
将以下 OpenShift URL 列入允许列表:
Expand 域 端口 功能 mirror.openshift.com
443
用于访问镜像安装内容和镜像。此站点也是发行版本镜像签名的来源。
api.openshift.com
443
用于检查集群是否有可用的更新。
将以下站点可靠性工程(SRE)和管理 URL 列入允许:
Expand 域 端口 功能 api.pagerduty.com
443
此警报服务由 in-cluster alertmanager 用来发送通知 Red Hat SRE 的事件来执行操作的警报。
events.pagerduty.com
443
此警报服务由 in-cluster alertmanager 用来发送通知 Red Hat SRE 的事件来执行操作的警报。
api.deadmanssnitch.com
443
Red Hat OpenShift Service on AWS 使用的警报服务发送定期 ping 来指示集群是否可用并运行。
nosnch.in
443
Red Hat OpenShift Service on AWS 使用的警报服务发送定期 ping 来指示集群是否可用并运行。
http-inputs-osdsecuritylogs.splunkcloud.com
443
必需。mvapich
-forwarder-operator
使用为一个日志转发端点,供 Red Hat SRE 用于基于日志的警报。sftp.access.redhat.com
(Recommended)22
must-gather-operator
使用的 SFTP 服务器上传诊断日志,以帮助排除集群中的问题。
11.1.6. 后续步骤 复制链接链接已复制到粘贴板!
11.2. 了解 ROSA 部署工作流 复制链接链接已复制到粘贴板!
在 AWS (ROSA) 集群上创建 Red Hat OpenShift Service 前,您必须先满足 AWS 的先决条件,验证所需的 AWS 服务配额是否可用,并设置您的环境。
本文档概述 ROSA 工作流阶段,并引用每个阶段的详细资源。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.2.1. ROSA 部署工作流概述 复制链接链接已复制到粘贴板!
您可以按照本节中介绍的工作流阶段来设置和访问 Red Hat OpenShift Service on AWS (ROSA)集群。
- 执行 AWS 的先决条件。要部署 ROSA 集群,您的 AWS 帐户必须满足先决条件要求。
- 查看所需的 AWS 服务配额。要准备集群部署,请查看运行 ROSA 集群的 AWS 服务配额。
-
配置 AWS 帐户。在创建 ROSA 集群前,您必须在 AWS 帐户中启用 ROSA,安装和配置 AWS CLI (
aws
)工具,并验证 AWS CLI 工具配置。 -
安装 ROSA 和 OpenShift CLI 工具并验证 AWS 服务配额。安装和配置 ROSA CLI (
rosa
)和 OpenShift CLI (oc
)。您可以使用 ROSA CLI 验证所需的 AWS 资源配额是否可用。 -
创建 ROSA 集群 或使用 AWS PrivateLink 创建 ROSA 集群。使用 ROSA CLI (
rosa
)创建集群。您可以选择使用 AWS PrivateLink 创建 ROSA 集群。 -
访问集群。您可以配置身份提供程序,并根据需要为身份提供程序用户授予集群管理员特权。您还可以通过配置
cluster-admin
用户来快速访问新部署的集群。 - 撤销对用户 的 ROSA 集群的访问权限。您可以使用 ROSA CLI 或 Web 控制台撤销用户对 ROSA 集群的访问。
-
删除 ROSA 集群。您可以使用 ROSA CLI (
rosa
)删除 ROSA 集群。
11.3. 所需的 AWS 服务配额 复制链接链接已复制到粘贴板!
查看此列表,其中列出了在 AWS 集群上运行 Red Hat OpenShift Service on AWS 集群所需的服务配额。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.3.1. 所需的 AWS 服务配额 复制链接链接已复制到粘贴板!
下表描述了创建和运行一个 ROSA (经典)集群所需的 AWS 服务配额和级别。虽然大多数默认值适合大多数工作负载,但您可能需要为以下情况请求额外的配额:
-
ROSA 集群至少需要 AWS EC2 服务配额 100 个 vCPU,才能为集群创建、可用性和升级提供。分配给运行按需标准 Amazon EC2 实例的 vCPU 的默认最大值是
5
。因此,如果您之前没有使用同一 AWS 帐户创建 ROSA 集群,则必须请求额外的 EC2 配额来运行按需标准(A、C、D、H、I、M、R、T、Z)实例
。
-
某些可选集群配置功能(如自定义安全组)可能需要您请求额外的配额。例如,因为 ROSA 默认将 1 个安全组与 worker 机器池中的网络接口关联,并且
每个网络接口安全组的默认配额
为5
,如果要添加 5 自定义安全组,您需要请求额外的配额,因为这会将 worker 网络接口上的安全组总数设置为 6。
AWS SDK 允许 ROSA 检查配额,但 AWS SDK 计算不会考虑您现有的用法。因此,因为缺少可用的配额,集群创建可能会失败,即使 AWS SDK 配额检查通过。要解决这个问题,请提高配额。
如果您需要修改或增加特定的 AWS 配额,请参阅 Amazon 文档中 请求配额会增加。向 Amazon 支持提交大型配额请求进行审核,可能需要一些时间才能批准。如果您的配额请求是紧急的,请联系 AWS 支持。
配额名称 | 服务代码 | 配额代码 | AWS 默认 | 最低要求 | 描述 |
---|---|---|---|---|---|
运行内部标准(A、C、D、H、I、M、R、T、Z)实例 | ec2 | L-1216C47A | 5 | 100 | 分配给 Running On-Demand Standard (A, C, D, H, I, M, R, T, Z)实例的最大 vCPU 数量。默认值 5 个 vCPU 不足来创建 ROSA 集群。 |
通用目的 SSD (gp2)卷存储以 TiB 为单位 | ebs | L-D18FCD1D | 50 | 300 | 此区域中可以在跨 General Purpose SSD (gp2) 卷进行置备的最大聚合存储量(以 TiB 为单位)。 |
通用目的 SSD (gp3)卷存储以 TiB 为单位 | ebs | L-7A658B76 | 50 | 300 | 此区域中可以在跨 General Purpose SSD (gp3) 卷进行置备的最大聚合存储量(以 TiB 为单位)。对于最佳性能,至少需要 300 TiB 的存储。 |
以 TiB 为单位的置备 IOPS SSD (io1)卷存储 | ebs | L-FD252861 | 50 | 300 | 此区域中可以在跨 Provisioned IOPS SSD (io1) 卷进行置备的最大聚合存储量(以 TiB 为单位)。 对于最佳性能,至少需要 300 TiB 的存储。 |
配额名称 | 服务代码 | 配额代码 | AWS 默认 | 最低要求 | 描述 |
---|---|---|---|---|---|
EC2-VPC Elastic IP | ec2 | L-0263D0A3 | 5 | 5 | 在此区域中可以为 EC2-VPC 分配的最大 Elastic IP 地址数量。 |
每个区域的 VPCs | vpc | L-F678F1CE | 5 | 5 | 每个区域的 VPC 数量上限。这个配额直接与每个区域互联网网关的最大数量关联。 |
每个区域的互联网网关 | vpc | L-A4707A72 | 5 | 5 | 每个区域的最大互联网网关数量。这个配额直接与每个区域 VPC 数量关联。要增加此配额,请增加每个区域的 VPC 数量。 |
每个区域的网络接口 | vpc | L-DF5E4CA3 | 5,000 | 5,000 | 每个区域的最大网络接口数量。 |
每个网络接口的安全组 | vpc | L-2AFB9258 | 5 | 5 | 每个网络接口的最大安全组数。此配额乘以每个安全组的规则配额,不能超过 1000。 |
每个区域的快照 | ebs | L-309BACF6 | 10,000 | 10,000 | 每个区域的最大快照数 |
置备 IOPS SSD (Io1)卷的 IOPS | ebs | L-B3A130E6 | 300,000 | 300,000 | 此区域中可在置备 IOPS SDD (io1)卷之间置备的 IOPS 数量上限。 |
每个区域的应用程序负载均衡 | elasticloadbalancing | L-53DA6B97 | 50 | 50 | 每个区域可存在的最大 Application Load Balancer 数量。 |
每个区域的 Classic Load Balancers | elasticloadbalancing | L-E9E9831D | 20 | 20 | 每个区域可存在的最大 Classic Load Balancer 数量。 |
11.3.2. 后续步骤 复制链接链接已复制到粘贴板!
11.4. 配置 AWS 帐户 复制链接链接已复制到粘贴板!
完成 AWS 的先决条件后,配置 AWS 帐户并启用 Red Hat OpenShift Service on AWS (ROSA)服务。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.4.1. 配置 AWS 帐户 复制链接链接已复制到粘贴板!
要将 AWS 帐户配置为使用 ROSA 服务,请完成以下步骤。
前提条件
- 检查并完成部署先决条件和策略。
- 如果还没有 红帽帐户,请创建一个红帽帐户。然后,检查您的电子邮件中的验证链接。您需要这些凭证来安装 ROSA。
流程
登录到您要使用的 Amazon Web Services (AWS)帐户。
建议专用 AWS 帐户来运行生产环境集群。如果使用 AWS Organizations,您可以使用您所在机构的 AWS 帐户或创建一个新账户。
如果您使用 AWS 机构,且您需要有一个服务控制策略 (SCP) 应用于您计划使用的 AWS 帐户,请参阅 AWS 先决条件。
作为集群创建过程的一部分,
rosa
建立osdCcsAdmin
IAM 用户。此用户使用您在配置 AWS CLI 时提供的 IAM 凭证。注意此用户启用了
Programmatic
访问权限,并附加了AdministratorAccess
策略。在 AWS 控制台中启用 ROSA 服务。
安装和配置 AWS CLI。
按照 AWS 命令行界面文档为您的操作系统 安装和配置 AWS CLI。
在
.aws/credentials
文件中指定正确的aws_access_key_id
和aws_secret_access_key
。请参阅 AWS 文档中的 AWS 配置基础知识。设置默认 AWS 区域。
注意建议使用环境变量来设置默认的 AWS 区域。
ROSA 服务以以下优先级顺序评估区域:
-
使用
--region
标志运行rosa
命令时指定的区域。 -
AWS_DEFAULT_REGION
环境变量中设置的区域。请参阅 AWS 文档中的配置 AWS CLI 的环境变量。 - AWS 配置文件中设置的默认区域。请参阅 AWS 文档中的使用 aws 配置的快速配置。
-
使用
可选:使用名为 profile 的 AWS CLI 设置和凭证配置 AWS CLI 设置和凭证。
ROSA
按照以下优先级顺序评估 AWS 命名配置集:-
使用
--profile
标志运行rosa
命令时指定的配置集。 -
在
AWS_PROFILE
环境变量中设置的配置集。请参阅 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。
11.4.2. 后续步骤 复制链接链接已复制到粘贴板!
配置 AWS 帐户后,在 AWS (ROSA) CLI 上安装和配置 Red Hat OpenShift Service,rosa
。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.5.1. 安装和配置 ROSA CLI 复制链接链接已复制到粘贴板!
在 AWS (ROSA) CLI ( rosa
)上安装和配置 Red Hat OpenShift Service。您还可以安装 OpenShift CLI (oc
),并使用 ROSA CLI (rosa
)验证所需的 AWS 资源配额是否可用。
前提条件
- 检查并完成 AWS 的先决条件和 ROSA 策略。
- 如果还没有 红帽帐户,请创建一个红帽帐户。然后,检查您的电子邮件中的验证链接。您需要这些凭证来安装 ROSA。
- 配置 AWS 帐户并在 AWS 帐户中启用 ROSA 服务。
流程
安装
rosa
,Red Hat OpenShift Service on AWS 的命令行接口 (CLI)。- 为您的操作系统下载 ROSA CLI 的最新版本。
-
可选:命名您下载到
rosa
的可执行文件。本文档使用rosa
参考可执行文件。 可选:在路径中添加
rosa
。示例
mv rosa /usr/local/bin/rosa
$ mv rosa /usr/local/bin/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令验证您的安装:
rosa
$ rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:为 ROSA CLI 生成命令完成脚本。以下示例为 Linux 机器生成 Bash 完成脚本:
rosa completion bash | sudo tee /etc/bash_completion.d/rosa
$ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 可选:从现有终端中为 ROSA CLI 启用命令完成。以下示例在 Linux 机器上的现有终端中启用
rosa
的 Bash 完成功能:source /etc/bash_completion.d/rosa
$ source /etc/bash_completion.d/rosa
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
使用
rosa
登录您的红帽帐户。输入以下命令。
rosa login
$ rosa login
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 将
<my_offline_access_token&
gt; 替换为您的令牌。输出示例
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: <my-offline-access-token>
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: <my-offline-access-token>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出持续示例
I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com'
I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
输入以下命令验证您的 AWS 帐户是否有必要权限。
rosa verify permissions
$ rosa verify permissions
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Validating SCP policies... I: AWS SCP policies ok
I: Validating SCP policies... I: AWS SCP policies ok
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意此命令只验证没有使用 AWS 安全令牌服务(STS)的 ROSA 集群的权限。
验证 AWS 帐户是否具有在 AWS 集群上部署 Red Hat OpenShift Service 所需的配额。
rosa verify quota --region=us-west-2
$ rosa verify quota --region=us-west-2
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Validating AWS quota... I: AWS quota ok
I: Validating AWS quota... I: AWS quota ok
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意有时,AWS 配额因区域而异。如果您收到任何错误,请尝试不同的区域。
如果需要提高配额,进入 AWS 控制台,并为失败的服务请求配额增加。
权限和配额检查通过后,继续下一步。
为集群部署准备 AWS 帐户:
运行以下命令验证您的 Red Hat 和 AWS 凭证是否已正确设置。检查 AWS 帐户 ID、默认区域和 ARN 是否与您所期望的内容匹配。您可以安全地忽略以
OCM
开头的行。rosa whoami
$ rosa whoami
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 初始化 AWS 帐户。此步骤运行一个 CloudFormation 模板,用于准备 AWS 帐户以进行集群部署和管理。此步骤通常需要 1-2 分钟才能完成。
rosa init
$ rosa init
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
从 ROSA CLI 安装 OpenShift CLI (
oc
)。输入这个命令下载
oc
CLI 的最新版本:rosa download oc
$ rosa download oc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
下载
oc
CLI 后,解压它并将其添加到您的路径中。 输入这个命令来验证
oc
CLI 是否已正确安装:rosa verify oc
$ rosa verify oc
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
安装 ROSA 后,就可以创建集群。
11.5.2. 后续步骤 复制链接链接已复制到粘贴板!
11.6. 创建没有 AWS STS 的 ROSA 集群 复制链接链接已复制到粘贴板!
设置环境并安装 Red Hat OpenShift Service on AWS (ROSA)后,创建一个集群。
本文档论述了如何设置 ROSA 集群。另外,您可以使用 AWS PrivateLink 创建 ROSA 集群。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.6.1. 创建集群 复制链接链接已复制到粘贴板!
您可以使用 ROSA CLI (rosa
)在 AWS (ROSA)集群上创建 Red Hat OpenShift Service。
前提条件
您已在 AWS 上安装了 Red Hat OpenShift Service。
目前,ROSA 安装不支持 AWS 共享 VPC。
流程
您可以使用默认设置或使用互动模式指定自定义设置来创建集群。要在创建集群时查看其他选项,请输入
rosa create cluster --help
命令。创建集群最多可能需要 40 分钟。
注意对于生产环境工作负载,建议使用多个可用区(AZ)。默认为单个可用区。使用
--help
来手动设置这个选项,或使用互动模式进行此设置。使用默认集群设置创建集群:
rosa create cluster --cluster-name=<cluster_name>
$ rosa create cluster --cluster-name=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
I: Creating cluster with identifier '1de87g7c30g75qechgh7l5b2bha6r04e' and name 'rh-rosa-test-cluster1' I: To view list of clusters and their status, run `rosa list clusters` I: Cluster 'rh-rosa-test-cluster1' has been created. I: Once the cluster is 'Ready' you will need to add an Identity Provider and define the list of cluster administrators. See `rosa create idp --help` and `rosa create user --help` for more information. I: To determine when your cluster is Ready, run `rosa describe cluster rh-rosa-test-cluster1`.
I: Creating cluster with identifier '1de87g7c30g75qechgh7l5b2bha6r04e' and name 'rh-rosa-test-cluster1' I: To view list of clusters and their status, run `rosa list clusters` I: Cluster 'rh-rosa-test-cluster1' has been created. I: Once the cluster is 'Ready' you will need to add an Identity Provider and define the list of cluster administrators. See `rosa create idp --help` and `rosa create user --help` for more information. I: To determine when your cluster is Ready, run `rosa describe cluster rh-rosa-test-cluster1`.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 使用交互式提示创建集群:
rosa create cluster --interactive
$ rosa create cluster --interactive
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要配置网络 IP 范围,您可以使用以下默认范围。有关使用手动模式时的更多信息,请使用
rosa create cluster --help | grep cidr
命令。在交互模式中,会提示您输入设置。- 节点 CIDR: 10.0.0.0/16
- Service CIDR: 172.30.0.0/16
- Pod CIDR: 10.128.0.0/14
输入以下命令检查集群的状态。在集群创建过程中,输出中的
State
字段将从pending
过渡到installing
,最后变为ready
。rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --cluster=<cluster_name>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果安装失败,或者
State
字段在 40 分钟后没有变为ready
,请检查安装故障排除文档以了解更多详细信息。通过观察 OpenShift 安装程序日志来跟踪集群创建的进度:
rosa logs install --cluster=<cluster_name> --watch
$ rosa logs install --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.6.2. 后续步骤 复制链接链接已复制到粘贴板!
11.7. 配置私有集群 复制链接链接已复制到粘贴板!
一个 Red Hat OpenShift Service on AWS 集群可以私有,以便内部应用程序可以托管在公司网络中。另外,私有集群只能配置为只具有内部 API 端点来提高安全性。
可在集群创建期间或建立集群后配置隐私设置。
11.7.1. 在新集群中启用私有集群 复制链接链接已复制到粘贴板!
您可以在 AWS 集群上创建新的 Red Hat OpenShift Service 时启用私有集群设置。
私有集群不能与 AWS 安全令牌服务(STS)一起使用。但是 STS 支持 AWS PrivateLink 集群。
前提条件
AWS VPC Peering、VPN、DirectConnect 或 TransitGateway 被配置为允许私有访问。
流程
输入以下命令来创建新私有集群。
rosa create cluster --cluster-name=<cluster_name> --private
$ rosa create cluster --cluster-name=<cluster_name> --private
或者,使用 --interactive
来为每个集群选项提示。
11.7.2. 在现有集群中启用私有集群 复制链接链接已复制到粘贴板!
创建集群后,您可以稍后启用集群为私有集群。
私有集群不能与 AWS 安全令牌服务(STS)一起使用。但是 STS 支持 AWS PrivateLink 集群。
前提条件
AWS VPC Peering、VPN、DirectConnect 或 TransitGateway 被配置为允许私有访问。
流程
输入以下命令在现有集群中启用 --private
选项。
rosa edit cluster --cluster=<cluster_name> --private
$ rosa edit cluster --cluster=<cluster_name> --private
在私有和公共间迁移集群可能需要几分钟来完成。
11.8. 删除对 ROSA 集群的访问 复制链接链接已复制到粘贴板!
使用 rosa
命令行删除对 Red Hat OpenShift Service on AWS (ROSA)集群的访问。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.8.1. 使用 ROSA CLI 撤销 dedicated-admin 访问 复制链接链接已复制到粘贴板!
如果您是创建集群、机构管理员用户或超级用户用户的用户,您可以撤销 dedicated-admin
用户的访问权限。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有 IDP 用户名,用于撤销其权限的用户。
- 已登陆到集群。
流程
输入以下命令撤销用户的
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 输入以下命令验证您的用户是否不再具有
dedicated-admin
访问权限。输出不会列出撤销的用户。oc get groups dedicated-admins
$ oc get groups dedicated-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.8.2. 使用 ROSA CLI 撤销 cluster-admin 访问 复制链接链接已复制到粘贴板!
只有创建集群的用户才能撤销 cluster-admin
用户的访问权限。
前提条件
- 您已在集群中添加身份提供程序(IDP)。
- 您有 IDP 用户名,用于撤销其权限的用户。
- 已登陆到集群。
流程
输入以下命令撤销用户的
cluster-admin
访问权限:rosa revoke user cluster-admins --user=myusername --cluster=mycluster
$ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令验证用户是否不再具有
cluster-admin
访问权限。输出不会列出撤销的用户。oc get groups cluster-admins
$ oc get groups cluster-admins
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
11.9. 删除 ROSA 集群 复制链接链接已复制到粘贴板!
使用 rosa
命令行删除 Red Hat OpenShift Service on AWS (ROSA)集群。
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.9.1. 前提条件 复制链接链接已复制到粘贴板!
如果 Red Hat OpenShift Service on AWS 创建了一个 VPC,则必须从集群中删除以下项目,然后才能成功删除集群:
- 网络配置,如 VPN 配置和 VPC 对等连接
- 添加到 VPC 的任何其他服务
如果这些配置和服务仍然存在,集群不会正确删除。
11.9.2. 删除 ROSA 集群和特定于集群的 IAM 资源 复制链接链接已复制到粘贴板!
您可以使用 ROSA CLI (rosa
) 或 Red Hat OpenShift Cluster Manager 删除使用 AWS 安全令牌服务(STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群。
删除集群后,您可以使用 ROSA CLI (rosa
) 清理 AWS 帐户中特定于集群的 Identity and Access Management (IAM) 资源。特定于集群的资源包括 Operator 角色和 OpenID Connect (OIDC)供应商。
集群删除必须在删除 IAM 资源前完成,因为集群删除和清理过程会用到这些资源。
如果安装了附加组件,集群删除需要更长的时间,因为在删除集群前卸载附加组件。时间量取决于附加组件的数量和大小。
如果在安装过程中创建 VPC 的集群被删除,相关的安装程序创建的 VPC 也会被删除,从而导致所有使用同一 VPC 的集群失败。另外,任何使用由安装程序创建的资源相同的 tagSet
键值对创建的,且带有值为 owned
的标签的资源也会被删除。
前提条件
- 已安装 ROSA 集群。
-
您已在安装主机上安装并配置了最新的 ROSA CLI (
rosa
)。
流程
获取集群 ID、特定于集群 Operator 角色的 Amazon 资源名称 (ARN) 和 OIDC 供应商的端点 URL:
rosa describe cluster --cluster=<cluster_name>
$ rosa describe cluster --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 重要在删除集群后,您需要集群 ID 来使用 ROSA CLI (
rosa
)删除特定于集群的 STS 资源。删除集群:
使用 Red Hat OpenShift Cluster Manager 删除集群:
- 导航到 OpenShift Cluster Manager。
-
点集群
旁边的 Options 菜单并选择 Delete cluster。
- 在提示符处键入集群名称并点 Delete。
使用 ROSA CLI (
rosa
)删除集群:输入以下命令删除集群并观察日志,将 <
cluster_name&
gt; 替换为集群的名称或 ID:rosa delete cluster --cluster=<cluster_name> --watch
$ rosa delete cluster --cluster=<cluster_name> --watch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重要在删除 Operator 角色和 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 角色:
重要帐户范围的 IAM 角色可供同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。
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 角色无法删除 集群,请参阅额外修复无法删除的集群。
如果因为其他原因无法删除集群:
- 检查 混合云控制台中 是否有待处理的集群的附加组件。
- 检查 Amazon Web 控制台中是否删除了所有 AWS 资源和依赖项。
11.10. 创建集群和用户的命令快速参考 复制链接链接已复制到粘贴板!
AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 ROSA (经典)上安装和与集群交互,因为它提供了增强的安全性。
11.10.1. 命令快速参考列表 复制链接链接已复制到粘贴板!
如果您已经创建了第一个集群和用户,这个列表可在创建其他集群和用户时作为命令快速引用列表。
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.