Menu Close
Settings Close

Language and Page Formatting Options

安装访问和删除 ROSA 集群

Red Hat OpenShift Service on AWS 4

在 AWS (ROSA)集群上安装、访问和删除 Red Hat OpenShift Service。

摘要

本文档提供有关如何在 AWS (ROSA)集群中安装 Red Hat OpenShift Service 的信息。本文档还详细介绍了如何访问集群、配置身份提供程序、撤销集群访问和删除集群。

第 1 章 使用默认选项创建带有 STS 的 ROSA 集群

注意

如果您正在寻求 ROSA 的快速入门指南,请参阅 AWS 上的 Red Hat OpenShift Service 快速入门指南

使用默认选项和自动 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 命令,而不是自动部署它们。有关使用 manual 模式或自定义自定义部署 ROSA 集群的步骤,请参阅使用自定义创建集群

1.1. 默认集群规格概述

您可以使用默认安装选项快速创建使用 AWS 安全令牌服务 (STS) 的上快速创建 Red Hat OpenShift Service on AWS (ROSA) 集群。以下摘要描述了默认集群规格。

表 1.1. 默认带有 STS 集群规格的 ROSA

组件默认规格

帐户和角色

  • 默认 IAM 角色前缀: ManagedOpenShift

集群设置

  • 默认集群版本: Latest
  • 使用 Red Hat OpenShift Cluster Manager 混合云控制台安装的默认 AWS 区域:us-east-1 (美国东部,北弗吉尼亚)
  • 使用 rosa CLI 安装的默认 AWS 区域:由 aws CLI 配置定义
  • 可用性:单一区域
  • 监控用户定义的项目:启用

Encryption

  • 云存储以静态方式加密
  • 未启用额外的 etcd 加密
  • 默认 AWS Key Management Service(KMS)密钥用作持久性数据的加密密钥

control plane 节点配置

  • Control plane 节点实例类型: m5.x2large(8 vCPU,32 GiB RAM)
  • control plane 节点数: 3 个

基础架构节点配置

  • 基础架构节点实例类型: r5.xlarge(4 vCPU,32 GiB RAM)
  • 基础架构节点数: 2

Compute 节点机器池

  • Compute 节点实例类型: m5.xlarge(4 vCPU 16, GiB RAM)
  • Compute 节点数: 2
  • 自动扩展:未启用
  • 没有额外的节点标签

网络配置

  • 集群隐私:公共
  • 为集群创建新的 VPC
  • 没有配置集群范围的代理

无类别域间路由 (CIDR) 范围

  • Machine CIDR: 10.0.0.0/16
  • Service CIDR: 172.30.0.0/16
  • Pod CIDR: 10.128.0.0/16
  • 主机前缀:/23

集群角色和策略

  • 用于创建 Operator 角色和 OpenID Connect(OIDC)供应商的模式: auto

    注意

    对于使用 OpenShift Cluster Manager 混合云控制台的安装,自动 模式需要一个管理员授权的 OpenShift Cluster Manager 角色。

  • 默认 Operator 角色前缀: &lt ;cluster_name>-<4_digit_random_string>

Cluster update 策略

  • 独立更新
  • 1 小时用于节点排空的宽限期

1.2. 了解 AWS 帐户关联

在使用 Red Hat OpenShift Cluster Manager 混合云控制台前,使用 Red Hat OpenShift Cluster Manager 混合云控制台在 AWS (ROSA)集群中创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service。您可以通过创建并链接以下 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 角色并将其链接到您的红帽用户帐户。Red Hat 用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的 Red Hat 机构中。

当您使用 OpenShift Cluster Manager 混合云控制台安装集群和所需的 STS 资源时,红帽使用用户角色来验证 AWS 身份。

其他资源

1.3. 使用 OpenShift Cluster Manager 快速创建集群

当使用 Red Hat OpenShift Cluster Manager 在 AWS (ROSA)集群上创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service 时,您可以选择默认选项来快速创建集群。

在可以使用 OpenShift Cluster Manager 部署带有 STS 的 ROSA 集群之前,您必须将 AWS 帐户与红帽机构相关联,并创建所需的账户范围 STS 角色及策略。

1.3.1. 将您的 AWS 帐户与红帽机构相关联

在使用 Red Hat OpenShift Cluster Manager Hybrid Cloud Console 之前,请先在 AWS (ROSA)集群上创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service,创建一个 OpenShift Cluster Manager IAM 角色并将其链接到您的红帽机构。然后,创建一个用户 IAM 角色并将其链接到同一红帽机构中的红帽用户帐户。

前提条件

  • 您已使用 STS 完成 ROSA 的 AWS 先决条件。
  • 已有 AWS 服务配额。
  • 您已在 AWS 控制台中启用了 ROSA 服务。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

    注意

    要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。

  • 已使用 rosa CLI 登录您的红帽帐户。
  • 您在红帽组织中具有机构管理员权限。

流程

  1. 创建 OpenShift Cluster Manager 角色,并将其链接到您的红帽机构:

    注意

    要使用 OpenShift Cluster Manager 混合云控制台启用集群特定 Operator 角色和 OpenID Connect (OIDC)供应商的自动部署,您必须在创建 ROSA 集群的 帐户和角色步骤中选择 Admin OCM 角色 命令。如需有关 OpenShift Cluster Manager 角色的基本和管理特权的更多信息,请参阅了解 AWS 帐户关联

    注意

    如果您在 OpenShift Cluster Manager 混合云控制台中创建 ROSA 集群的 帐户和角色 步骤中选择了 Basic OCM 角色命令,则必须使用手动模式部署 ROSA 集群。在后续步骤中,系统将提示您配置特定于集群的 Operator 角色和 OpenID Connect (OIDC)供应商。

    $ rosa create ocm-role

    选择提示符处的默认值,以快速创建和连接角色。

  2. 创建用户角色并将其链接到 OpenShift Cluster Manager 用户帐户:

    $ rosa create user-role

    选择提示中的默认值,以快速创建并链接角色

    注意

    Red Hat 用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的 Red Hat 机构中。

1.3.2. 创建面向帐户范围的 STS 角色和策略

在使用 Red Hat OpenShift Cluster Manager Hybrid Cloud Console 之前,请先在 AWS (ROSA)集群上创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service,创建所需的 account-wide STS 角色和策略,包括 Operator 策略。

前提条件

  • 您已使用 STS 完成 ROSA 的 AWS 先决条件。
  • 已有 AWS 服务配额。
  • 您已在 AWS 控制台中启用了 ROSA 服务。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

    注意

    要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。

  • 已使用 rosa CLI 登录您的红帽帐户。

流程

  1. 检查 AWS 帐户中的现有角色和策略:

    $ rosa list account-roles
  2. 如果 AWS 帐户中没有它们,请创建所需的集群范围的 STS 角色和策略:

    $ rosa create account-roles

    选择提示中的默认值,以快速创建角色和策略。

1.3.3. 使用 OpenShift Cluster Manager 混合云控制台使用默认选项创建集群

当使用 Red Hat OpenShift Cluster Manager Hybrid Cloud Console 在 AWS (ROSA)集群中创建一个使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service,您可以选择默认选项来快速创建集群。您还可以使用 admin OpenShift Cluster Manager IAM 角色启用自动部署特定于集群的 Operator 角色和 OpenID Connect(OIDC)供应商。

前提条件

  • 您已使用 STS 完成 ROSA 的 AWS 先决条件。
  • 已有 AWS 服务配额。
  • 您已在 AWS 控制台中启用了 ROSA 服务。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

    注意

    要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。

  • 您已经确认 AWS 帐户中存在 AWS Elastic Load Balancing (ELB)服务角色。
  • 您已将 AWS 账户与您的红帽机构相关联。在关联您的帐户时,您要将管理权限应用到 OpenShift Cluster Manager 角色。如需了解详细信息,请参阅将 AWS 帐户与红帽机构相关联
  • 您已创建了所需的集群范围的 STS 角色和策略。如需了解详细信息,请参阅创建帐户范围内的 STS 角色和策略

流程

  1. 导航到 OpenShift Cluster Manager Hybrid Cloud Console,再选择 Create cluster
  2. Create an OpenShift 集群 页面中,在 Red Hat OpenShift Service on AWS (ROSA) 行中选择 Create cluster
  3. 验证您的 AWS 帐户 ID 是否在关联的 AWS 帐户 下拉菜单中列出,且安装程序、支持、worker 和 control plane 帐户角色 Amazon Resource Names (ARN) 是否在 Accounts 和 roles 页面中列出。

    注意

    如果没有列出 AWS 帐户 ID,请检查您是否成功将 AWS 帐户与红帽机构相关联。如果没有列出帐户角色 ARN,请检查 AWS 帐户中是否存在所需的帐户范围 STS 角色。

  4. 点击 Next
  5. Cluster details 页面中,提供 集群名称。将默认值留在剩余的字段中,然后点 Next
  6. 要快速部署集群,保留 Cluster settings, Networking, Cluster roles and policies, 和 Cluster updates 页中的默认选项,点每个页中的 Next
  7. Review your ROSA cluster 页中,查看您选择的概述并点 Create cluster 开始安装。

验证

  • 您可以在集群的 Overview 页面中监控安装的进度。您可以在同一页面中查看安装日志。当页面的 Details 部分中的 Status 列为 Ready 时,您的集群已就绪。

    注意

    如果安装失败,或者集群的状态在大约 40 分钟后仍没有变为 Ready,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。如需联系红帽支持以获取帮助的步骤,请参阅 Red Hat OpenShift Service on AWS 支持

1.4. 使用 CLI 快速创建集群

当使用 Red Hat OpenShift Service on AWS (ROSA) CLI (rosa) 创建使用 AWS 安全令牌服务(STS)的集群时,您可以选择默认选项来快速创建集群。

前提条件

  • 您已使用 STS 完成 ROSA 的 AWS 先决条件。
  • 已有 AWS 服务配额。
  • 您已在 AWS 控制台中启用了 ROSA 服务。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

    注意

    要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。

  • 已使用 rosa CLI 登录您的红帽帐户。
  • 您已经确认 AWS 帐户中存在 AWS Elastic Load Balancing (ELB)服务角色。

流程

  1. 创建所需的集群范围的角色和策略,包括 Operator 策略:

    $ rosa create account-roles --mode auto
    注意

    使用 auto 模式时,您可以指定 -y 参数来绕过交互式提示并自动确认操作。

  2. 使用默认值创建带有 STS 的集群。当您使用默认值时,会安装最新的 stable OpenShift 版本:

    $ rosa create cluster --cluster-name <cluster_name> --sts --mode auto 1
    1
    <cluster_name> 替换为集群的名称。
    注意

    当您指定 --mode auto 时,rosa create cluster 命令会自动创建特定于集群的 Operator IAM 角色和 OIDC 供应商。Operator 使用 OIDC 供应商进行身份验证。

  3. 检查集群的状态:

    $ rosa describe cluster --cluster <cluster_name|cluster_id>

    集群安装进行时,会输出以下 State 字段更改:

    • 等待(用于 OIDC 配置)
    • 待定(准备帐户)
    • 安装(DNS 设置进行中)
    • installing
    • ready

      注意

      如果安装失败或者 State 字段在大约 40 分钟后没有变为 ready,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。如需联系红帽支持以获取帮助的步骤,请参阅 Red Hat OpenShift Service on AWS 支持

  4. 通过观察 OpenShift 安装程序日志来跟踪集群创建的进度:

    $ rosa logs install --cluster <cluster_name|cluster_id> --watch 1
    1
    指定在安装过程中监视新日志消息的 --watch 标志。这个参数是可选的。

1.5. 后续步骤

1.6. 其他资源

第 2 章 使用自定义功能创建带有 STS 的 ROSA 集群

使用自定义,在 AWS (ROSA)集群中创建一个 Red Hat OpenShift Service,并使用 AWS 安全令牌服务(STS)。您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa)部署集群。

使用本文档中的步骤,在创建所需的 AWS Identity and Access Management (IAM)资源时,您还可以选择 automanual 模式。

2.1. 了解自动和手动部署模式

当使用 AWS 安全令牌服务 (STS) 在 AWS (ROSA) 集群中安装 Red Hat OpenShift Service 时,您可以选择 automanual ROSA CLI (rosa) 模式来创建所需的 AWS Identity and Access Management (IAM)资源。

auto 模式
使用这个模式,rosa 会立即创建所需的 IAM 角色和策略,以及 AWS 帐户中的 OpenID Connect (OIDC) 供应商。
manual 模式
使用这个模式,ros a 输出创建 IAM 资源所需的 aws 命令。对应的策略 JSON 文件也保存到当前目录中。使用手动模式,可以在手动运行前查看生成的 aws 命令。通过 手动模式,您可以将命令传递给机构中的另一个管理员或组,以便他们可以创建资源。
重要

如果选择使用 手动模式,集群安装会等待,直到您手动创建特定于集群的 Operator 角色和 OIDC 供应商。创建资源后,安装将继续。如需更多信息,请参阅使用 OpenShift Cluster Manager 创建 Operator 角色和 OIDC 供应商

有关使用 STS 安装 ROSA 所需的 AWS IAM 资源的更多信息,请参阅关于使用 STS 的集群的 IAM 资源

2.1.1. 使用 OpenShift Cluster Manager 创建 Operator 角色和 OIDC 供应商

如果使用 Red Hat OpenShift Cluster Manager 安装集群并选择使用手动模式创建所需的 AWS IAM Operator 角色和 OIDC 供应商,则会提示您输入以下安装方法之一来安装资源。允许您选择适合您的机构需求的资源创建方法:

AWS CLI (aws)
使用此方法,您可以下载并提取包含创建 IAM 资源所需的 aws 命令和策略文件的存档文件。从包含策略文件的目录运行提供的 CLI 命令,以创建 Operator 角色和 OIDC 供应商。
ROSA CLI (rosa)
您可以运行此方法提供的命令,以使用 rosa 为集群创建 Operator 角色和 OIDC 供应商。

如果使用 自动 模式,OpenShift Cluster Manager 将使用 OpenShift Cluster Manager IAM 角色提供的权限自动创建 Operator 角色和 OIDC 供应商。要使用这个功能,您必须将管理员特权应用到角色。

2.2. 了解 AWS 帐户关联

在使用 Red Hat OpenShift Cluster Manager 混合云控制台前,使用 Red Hat OpenShift Cluster Manager 混合云控制台在 AWS (ROSA)集群中创建使用 AWS 安全令牌服务(STS)的 Red Hat OpenShift Service。您可以通过创建并链接以下 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 角色并将其链接到您的红帽用户帐户。Red Hat 用户帐户必须存在于链接到 OpenShift Cluster Manager 角色的 Red Hat 机构中。

当您使用 OpenShift Cluster Manager 混合云控制台安装集群和所需的 STS 资源时,红帽使用用户角色来验证 AWS 身份。

其他资源

2.3. IAM 角色和策略的 ARN 路径自定义

当您创建使用 AWS 安全令牌服务(STS)路径的 Red Hat OpenShift Service 所需的 AWS IAM 角色和策略。这可让您使用满足您机构安全要求的角色和策略 ARN 路径。

在创建 OCM 角色、用户角色和帐户范围角色和策略时,您可以指定自定义 ARN 路径。

如果您在创建一组帐户范围角色和策略时定义自定义 ARN 路径,则同一路径将应用到集合中的所有角色和策略。以下示例显示了一组集群范围的角色和策略的 ARN。在示例中,ARNs 使用自定义路径 /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)的 AWS 集群上创建 Red Hat OpenShift Service 的支持方法是使用本文档中介绍的步骤。

重要

您可以在 AWS CLI (rosa) 中使用手动模式生成 AWS Identity and Access Management (IAM) 策略文件和 aws 命令,用于安装 STS 资源所需的 aws 命令。

生成的文件和 aws 命令仅用于查看目的,不要对它们进行任何修改。红帽不支持使用修改版本的策略文件或 aws 命令部署的 ROSA 集群。

2.5. 使用自定义创建集群

使用符合您的环境需求的配置,在 AWS (ROSA) 上部署带有 AWS 安全令牌服务 (STS) 集群的 Red Hat OpenShift Service。您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA CLI (rosa)进行自定义来部署集群。

2.5.1. 使用 OpenShift Cluster Manager 使用自定义创建集群

当您创建使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群时,您可以使用 Red Hat OpenShift Cluster Manager 以交互自定义安装。

重要

STS 仅支持公共和 AWS PrivateLink 集群。常规私有集群(非PrivateLink)不可用于 STS。

注意

目前 ROSA 安装不支持 AWS Shared VPC

前提条件

  • 您已使用 STS 完成 ROSA 的 AWS 先决条件。
  • 已有 AWS 服务配额。
  • 您已在 AWS 控制台中启用了 ROSA 服务。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

    注意

    要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。

  • 您已经确认 AWS 帐户中存在 AWS Elastic Load Balancing (ELB)服务角色。
  • 如果要配置集群范围代理,您已验证可以从安装集群的 VPC 访问代理。该代理还必须从 VPC 的专用子网访问。

流程

  1. 导航到 OpenShift Cluster Manager Hybrid Cloud Console,再选择 Create cluster
  2. Create an OpenShift 集群 页面中,在 Red Hat OpenShift Service on AWS (ROSA) 行中选择 Create cluster
  3. 如果自动检测到 AWS 帐户,则会在 关联 AWS 帐户 下拉菜单中列出帐户 ID。如果没有自动检测到 AWS 帐户,点 Select an accountAssociate AWS 帐户,请按照以下步骤执行:

    1. Authenticate 页面中,点 rosa login 命令旁边的复制按钮。命令中包含 OpenShift Cluster Manager API 登录令牌。

      注意

      您还可以在 OpenShift Cluster Manager 上的 OpenShift Cluster Manager API Token 页面中加载 API 令牌。

    2. 在 CLI 中运行复制的命令以登录到您的 ROSA 帐户。

      $ rosa login --token=<api_login_token> 1
      1
      <api_login_token > 替换为复制命令中提供的令牌。

      输出示例

      I: Logged in as '<username>' on 'https://api.openshift.com'

    3. 在 OpenShift Cluster Manager 中的 Authenticate 页面上,单击 Next
    4. OCM 角色页面中,点 Basic OCM roleAdmin OCM role 命令旁边的复制按钮。

      基本角色可让 OpenShift Cluster Manager 检测 ROSA 所需的 AWS IAM 角色和策略。admin 角色还启用角色和策略的检测。另外,admin 角色允许使用 OpenShift Cluster Manager 自动部署特定于集群 Operator 角色和 OpenID Connect (OIDC) 供应商。

    5. 在 CLI 中运行复制的命令,并按照提示创建 OpenShift Cluster Manager IAM 角色。以下示例使用默认选项创建基本的 OpenShift Cluster Manager IAM 角色:

      $ rosa create ocm-role

      输出示例

      I: Creating ocm role
      ? Role prefix: ManagedOpenShift 1
      ? Enable admin capabilities for the OCM role (optional): No 2
      ? Permissions boundary ARN (optional):  3
      ? Role Path (optional): 4
      ? Role creation mode: auto 5
      I: Creating role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role? Yes
      I: Created role 'ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>'
      I: Linking OCM role
      ? OCM Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>
      ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role with organization '<red_hat_organization_id>'? Yes 6
      I: Successfully linked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' with organization account '<red_hat_organization_id>'

      1
      指定要包含在 OCM IAM 角色名称的前缀。默认为 ManagedOpenShift。每个红帽机构的 AWS 帐户只能创建一个 OCM 角色。
      2
      启用 admin OpenShift Cluster Manager IAM 角色,这等同于指定 --admin 参数。如果要使用 Auto 模式使用 Auto 模式,则使用 OpenShift Cluster Manager 自动置备特定于集群的 Operator 角色和 OIDC 供应商,则需要 admin 角色。
      3
      可选:为角色指定一个权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限
      4
      为您的 OCM 角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符并以 / 结尾,例如 /test/path/dev/。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义
      5
      选择角色创建模式。您可以使用 自动 模式自动创建 OpenShift Cluster Manager IAM 角色,并将其链接到您的红帽机构帐户。在手动模式中,ros a CLI 生成创建并链接角色所需的 aws 命令。在手动模式中,对应的策略 JSON 文件也会保存到当前目录中。通过 手动模式,您可以在手动运行 aws 命令前查看详情。
      6
      将 OpenShift Cluster Manager IAM 角色链接到您的红帽机构帐户。
    6. 如果您不选择将 OpenShift Cluster Manager IAM 角色链接到上一命令中的红帽机构帐户,请从 OpenShift Cluster Manager OCM 角色 页面中复制 rosa link 命令并运行它:

      $ rosa link ocm-role <arn> 1
      1
      <arn> 替换为上一命令输出中包含的 OpenShift Cluster Manager IAM 角色的 ARN。
    7. 在 OpenShift Cluster Manager OCM 角色 页面中选择 Next
    8. User 角色 页面中,单击 User role 命令的复制按钮,并在 CLI 中运行该命令。在使用 OpenShift Cluster Manager 安装集群时,红帽使用用户角色来验证 AWS 身份。

      按照提示创建用户角色:

      $ rosa create user-role

      输出示例

      I: Creating User role
      ? Role prefix: ManagedOpenShift 1
      ? Permissions boundary ARN (optional): 2
      ? Role Path (optional): [? for help] 3
      ? Role creation mode: auto 4
      I: Creating ocm user role using 'arn:aws:iam::<aws_account_id>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-User-<red_hat_username>-Role' role? Yes
      I: Created role 'ManagedOpenShift-User-<red_hat_username>-Role' with ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role'
      I: Linking User role
      ? User Role ARN: arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role
      ? Link the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' role with account '<red_hat_user_account_id>'? Yes 5
      I: Successfully linked role ARN 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-User-<red_hat_username>-Role' with account '<red_hat_user_account_id>'

      1
      指定要包含在用户角色名称的前缀。默认为 ManagedOpenShift
      2
      可选:为角色指定一个权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限
      3
      为您的用户角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符并以 / 结尾,例如 /test/path/dev/。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义
      4
      选择角色创建模式。您可以使用 auto 模式自动创建用户角色,并将其链接到 OpenShift Cluster Manager 用户帐户。在手动模式中,ros a CLI 生成创建并链接角色所需的 aws 命令。在手动模式中,对应的策略 JSON 文件也会保存到当前目录中。通过 手动模式,您可以在手动运行 aws 命令前查看详情。
      5
      将用户角色链接到 OpenShift Cluster Manager 用户帐户。
    9. 如果选择不要将用户角色链接到前面命令中 OpenShift Cluster Manager 用户帐户,请从 OpenShift Cluster Manager User 角色 页面中复制 rosa 链接 命令并运行:

      $ rosa link user-role <arn> 1
      1
      将 & lt;arn > 替换为上一命令输出中包含的用户角色的 ARN。
    10. 在 OpenShift Cluster Manager User 角色 页面中,点 Ok
    11. 验证 AWS 帐户 ID 是否列在 Accounts and roles 页面的关联 AWS 帐户下拉菜单中。
    12. 如果所需的帐户角色不存在,则会提供一个通知,表示有些帐户角色 ARN 没有被检测到。您可以点击 rosa create account-roles 命令旁的复制缓冲区来创建 AWS 帐户范围内的角色和策略,包括 Operator 策略,以便在 CLI 中运行该命令:

      $ rosa create account-roles

      输出示例

      I: Logged in as '<red_hat_username>' on 'https://api.openshift.com'
      I: Validating AWS credentials...
      I: AWS credentials are valid!
      I: Validating AWS quota...
      I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html
      I: Verifying whether OpenShift command-line tool is available...
      I: Current OpenShift Client Version: 4.11.6
      I: Creating account roles
      ? Role prefix: ManagedOpenShift 1
      ? Permissions boundary ARN (optional): 2
      ? Path (optional): [? for help] 3
      ? Role creation mode: auto 4
      I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 5
      I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role'
      ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 6
      I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role'
      ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 7
      I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role'
      ? Create the 'ManagedOpenShift-Support-Role' role? Yes 8
      I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role'
      I: To create a cluster with these roles, run the following command:
      rosa create cluster --sts

      1
      指定要包含在 OpenShift Cluster Manager IAM 角色名称的前缀。默认为 ManagedOpenShift
      重要

      您必须指定一个在 AWS 帐户间唯一的范围角色前缀,即使您为帐户角色使用自定义 ARN 路径。

      2
      可选:为角色指定一个权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限
      3
      为您的帐户范围角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符并以 / 结尾,例如 /test/path/dev/。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义
      4
      选择角色创建模式。您可以使用 auto 模式自动创建集群范围的角色和策略。在手动模式中,ros a CLI 生成创建角色和策略所需的 aws 命令。在手动模式中,对应的策略 JSON 文件也会保存到当前目录中。通过 手动模式,您可以在手动运行 aws 命令前查看详情。
      5 6 7 8
      创建集群范围的安装程序、control plane、worker 和支持角色以及对应的 IAM 策略。如需更多信息,请参阅 帐户范围内的 IAM 角色和策略参考
      注意

      在这一步中,ROSA CLI 还会自动创建帐户范围 Operator IAM 策略,这些策略由特定于集群 Operator 策略使用,以允许 ROSA 集群 Operator 执行核心 OpenShift 功能。如需更多信息,请参阅 帐户范围内的 IAM 角色和策略参考

    13. Accounts 和 roles 页面上,点 Refresh ARNs,并验证是否列出了安装程序、支持、worker 和 control plane 帐户角色 ARN。

      如果在集群版本的 AWS 帐户中有多个帐户角色集合,则会提供一个 Installer 角色 ARN 的下拉列表。选择您要与集群的安装程序角色的 ARN。集群使用与所选安装程序角色相关的集群范围的角色和策略。

  4. 点击 Next

    注意

    如果更改了 Accounts and roles 页面,您可能需要再次选择复选框,以确认您已读取并完成所有先决条件。

  5. Cluster details 页面中,为集群提供名称并指定集群详情:

    1. 添加 集群名称
    2. Version 下拉菜单中选择一个集群版本。
    3. Region 下拉菜单中选择一个云供应商区域。
    4. 选择 Single zoneMulti-zone configuration。
    5. 启用用户工作负载监控 选择以监控您自己的项目,使其与 Red Hat Site Reliability工程师(SRE)平台指标隔离。默认启用这个选项。
    6. 可选: 如果需要 etcd key value encryption,请选择 Enable additional etcd 加密。使用此选项时,etcd 键的值被加密,而不是键本身。这个选项除了 control plane 存储加密外,这个加密会默认加密 Red Hat OpenShift Service 中的 etcd 卷。

      注意

      通过在 etcd 中为密钥值启用 etcd 加密,则会出现大约 20% 的性能开销。除了加密 etcd 卷的默认 control plane 存储加密外,还会引入第二层加密的开销。只有当您特别需要时才启用 etcd 加密。

    7. 可选:如果要提供自己的 AWS Key Management Service (KMS) 密钥 Amazon Resource Name (ARN),请选择使用客户密钥的加密持久性卷。用于加密集群中的持久性卷的密钥。

      重要

      默认情况下,仅加密从默认存储类创建的持久性卷 (PV)。

      只有在将存储类配置为加密时,使用其他存储类创建的 PV 才会被加密。

    8. 点击 Next
  6. Default 机器池 页面中,选择 Compute 节点实例类型

    注意

    创建集群后,您可以更改集群中的计算节点数量,但您无法更改默认机器池中的计算节点实例类型。您可用的节点数量和类型取决于您是否使用单一或者多个可用区。它们还取决于您 AWS 帐户和所选区域中的启用和可用的内容。

  7. 可选:为默认机器池配置自动扩展:

    1. 选择 Enable autoscaling 以自动扩展默认机器池中机器数量,以满足部署需求。
    2. 设置自动扩展的最小和最大节点数限值。集群自动扩展不会减少或增加默认的机器池节点数超过您指定的限制。

      • 如果您使用一个可用区部署集群,请设置最小节点数最大节点数。这会在可用区中定义最小和最大计算节点限值。
      • 如果您使用多个可用区部署集群,请为每个区设置 最小节点以及每个区 的最大节点。它定义每个区的最小和最大计算节点限值。
      注意

      另外,您可以在创建机器池后为默认机器池设置自动扩展首选项。

  8. 如果没有启用自动扩展,请为默认机器池选择计算节点计数:

    • 如果您使用单一可用区部署集群,请从下拉菜单中选择 Compute node count。这定义了置备到区域的机器池的计算节点数量。
    • 如果您使用多个可用区部署集群,请从下拉菜单中选择 Compute node count (每个区域)。这定义了每个区要置备到机器池的计算节点数量。
  9. 可选:扩展 Edit node labels 以向节点添加标签。点击 Add label 来添加更多节点标签,然后选择 Next
  10. Network Configuration 页面的 Cluster privacy 部分中,选择 PublicPrivate,以使用公共或私有 API 端点和应用程序路由。

    重要

    在集群创建后无法更改公共和私有 API 端点。

    公共 API 端点
    如果您不想限制集群访问,请选择 Public。您可以从互联网访问 Kubernetes API 端点和应用程序路由。
    私有 API 端点

    如果要限制集群的网络访问,请选择 Private。Kubernetes API 端点和应用程序路由只能从直接私有连接访问。

    重要

    如果使用私有 API 端点,则在更新云供应商帐户中的网络设置之前,您无法访问集群。

  11. 可选:如果您选择使用公共 API 端点,则默认为集群创建新的 VPC。如果要在现有 VPC 上安装集群,请选择 Install into an existing VPC

    注意

    如果选择使用私有 API 端点,则必须使用现有的 VPC 和 PrivateLink,Install into an existing VPCUse a PrivateLink 选项会被自动选择。通过这些选项,Red Hat Site Reliability Engineering (SRE)团队可以连接到集群来协助使用 AWS PrivateLink 端点支持。

  12. 可选: 如果要将集群安装到现有的 VPC 中,请选择配置集群范围代理 来启用 HTTP 或 HTTPS 代理来拒绝从集群直接访问互联网。
  13. 点击 Next
  14. 如果您选择在现有 AWS VPC 中安装集群,请提供 Virtual Private Cloud (VPC)子网设置

    注意

    您必须确保 VPC 为希望安装集群的每个可用区配置公共和专用子网。如果您选择使用 PrivateLink,则只需要私有子网。

  15. 如果您选择配置集群范围代理,在 集群范围代理页面中提供代理 配置详情:

    1. 至少在以下字段之一中输入值:

      • 指定有效的 HTTP 代理 URL
      • 指定有效的 HTTPS 代理 URL
      • Additional trust bundle 字段中,提供 PEM 编码 X.509 证书捆绑包。捆绑包添加到集群节点的可信证书存储中。需要额外的信任捆绑包文件,除非代理的身份证书由 Red Hat Enterprise Linux CoreOS (RHCOS)信任捆绑包的颁发机构签名。

        如果您使用不要求额外代理配置但需要额外的证书颁发机构(CA)的 MITM 透明代理网络,您必须提供 MITM CA 证书。

        注意

        如果您在没有指定 HTTP 或 HTTPS 代理 URL 的情况下上传额外的信任捆绑包文件,则会在集群中设置捆绑包,但不会配置为与代理一起使用。

    2. 点击 Next

    有关在 AWS 上配置代理的更多信息,请参阅 配置集群范围代理

  16. CIDR 范围 对话框中,配置自定义无类别间路由 (CIDR) 范围,或使用提供默认值并点 Next

    注意

    如果您要安装到 VPC 中,Machine CIDR 范围必须与 VPC 子网匹配。

    重要

    之后无法更改 CIDR 配置。在继续操作前,确认您的网络管理员的选择。

  17. Cluster roles 和 policies 页面中,选择您首选的 cluster-specific Operator IAM 角色和 OIDC 供应商创建模式。

    使用 Manual 模式,您可以使用 rosa CLI 命令或 aws CLI 命令为集群生成所需的 Operator 角色和 OIDC 供应商。通过手动模式,您可以在使用首选选项手动创建 IAM 资源并完成集群安装前查看详情。

    另外,您可以使用 Auto 模式自动创建 Operator 角色和 OIDC 供应商。要启用 Auto 模式,OpenShift Cluster Manager IAM 角色必须具有管理员的功能。

    注意

    如果您在创建关联的帐户范围角色时指定了自定义 ARN 路径,则会自动检测并应用自定义路径,并应用到 Operator 角色。当使用 ManualAuto 模式创建 Operator 角色时,会应用自定义 ARN 路径。

  18. 可选:为特定于集群 Operator IAM 角色指定自定义 operator 角色前缀

    注意

    默认情况下,特定于集群的 Operator 角色名称使用集群名称和随机 4 位哈希值作为前缀。您可以选择在角色名称中指定自定义前缀来替换 < cluster_name>-<hash >。创建特定于集群的 Operator IAM 角色时会应用前缀。有关前缀的详情,请参阅关于自定义 Operator IAM 角色前缀

  19. 选择 Next
  20. Cluster update 策略 页面中,配置您的更新首选项:

    1. 选择集群更新方法:

      • 如果要 单独 计划每个更新,请选择单独的更新。这是默认选项。
      • 选择 Recurring updates,以便在更新可用时,在首选一天和开始时间更新集群。

        重要

        即使选择了周期性更新,在次版本间升级集群前,您必须更新帐户和特定于集群的 IAM 资源。

        注意

        您可以在更新生命周期文档中查看 Red Hat OpenShift Service on AWS 的发布日期。如需更多信息,请参阅 AWS 更新生命周期的 Red Hat OpenShift Service

    2. 如果您选择周期性更新,请从下拉菜单中选择 UTC 首选一天,并在 UTC 中选择升级开始时间。
    3. 可选:在集群升级过程中为 节点排空 设置宽限期。默认设置 1 小时 宽限期。
    4. 点击 Next

      注意

      如果出现严重影响集群的安全性或稳定性的关键安全问题,Red Hat Site Reliability Engineering (SRE) 可能会对最新 z-stream 版本进行自动更新。在通知客户后,更新会在 48 小时内应用。有关关键影响安全评级的描述,请参阅 了解红帽安全评级

  21. 查看您选择的概述,并点击 Create cluster 启动集群安装。
  22. 如果您选择使用 Manual 模式,请手动创建特定于集群的 Operator 角色和 OIDC 供应商来继续安装:

    1. 继续安装 对话框中所需的操作中,选择 AWS CLIROSA CLI 选项卡并手动创建资源:

      • 如果您选择使用 AWS CLI 方法,点 Download .zip,保存文件,然后提取 AWS CLI 命令和策略文件。然后,在 CLI 中运行提供的 aws 命令。

        注意

        您必须在包含策略文件的目录中运行 aws 命令。

      • 如果您选择使用 ROSA CLI 方法,点 rosa create 命令旁边的复制按钮,并在 CLI 中运行它们。

        注意

        如果您在创建关联的帐户范围角色时指定了自定义 ARN 路径,则在使用这些手动方法创建时,会自动检测到自定义路径并应用到 Operator 角色。

    2. Action required to continue installation 对话框中,点 x 返回到集群的 Overview 页。
    3. 验证集群的 Overview 页面的 Details 部分中的 Cluster Status 是否已从 Waiting 改为 Installing。在状态更改前,可能需要大约两分钟的延迟时间。
    注意

    如果您选择使用 Auto 模式,OpenShift Cluster Manager 会自动创建 Operator 角色和 OIDC 供应商。

验证

  • 您可以在集群的 Overview 页面中监控安装的进度。您可以在同一页面中查看安装日志。当页面的 Details 部分中的 Status 列为 Ready 时,您的集群已就绪。

    注意

    如果安装失败,或者集群的状态在大约 40 分钟后仍没有变为 Ready,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。如需联系红帽支持以获取帮助的步骤,请参阅 Red Hat OpenShift Service on AWS 支持

2.5.2. 使用 CLI 使用自定义创建集群

当您创建使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群时,您可以使用交互模式自定义安装。

当您在集群创建时运行 rosa create cluster --interactive 时,您会看到一系列互动提示,供您自定义部署。如需更多信息,请参阅 交互式集群创建模式参考

使用互动模式安装集群后,输出中会提供一个单个命令,供您使用相同的自定义配置部署更多集群。

重要

STS 仅支持公共和 AWS PrivateLink 集群。常规私有集群(非PrivateLink)不可用于 STS。

注意

目前 ROSA 安装不支持 AWS Shared VPC

前提条件

  • 您已使用 STS 完成 ROSA 的 AWS 先决条件。
  • 已有 AWS 服务配额。
  • 您已在 AWS 控制台中启用了 ROSA 服务。
  • 您已在安装主机上安装和配置了最新的 ROSA (rosa) 和 AWS (aws) CLI。

    注意

    要成功安装 ROSA 集群,请使用 ROSA CLI 的最新版本。

  • 如果您使用客户管理的 AWS Key Management Service (KMS)密钥进行加密,您就创建了一个对称 KMS 密钥,且您有密钥 ID 和 Amazon 资源名称(ARN)。有关创建 AWS KMS 密钥的更多信息,请参阅 AWS 文档

流程

  1. 创建所需的集群范围的角色和策略,包括 Operator 策略:

    1. 在当前工作目录中生成 IAM 策略 JSON 文件,并输出 aws CLI 命令进行查看:

      $ rosa create account-roles --interactive \ 1
                                  --mode manual 2
      1
      交互模式 允许您在互动提示中指定配置选项。如需更多信息,请参阅 交互式集群创建模式参考
      2
      手动模式 生成 aws CLI 命令和 JSON 文件,以创建帐户范围角色和策略。检查后,您必须手动运行命令来创建资源。

      输出示例

      I: Logged in as '<red_hat_username>' on 'https://api.openshift.com'
      I: Validating AWS credentials...
      I: AWS credentials are valid!
      I: Validating AWS quota...
      I: AWS quota ok. If cluster installation fails, validate actual AWS resource usage against https://docs.openshift.com/rosa/rosa_getting_started/rosa-required-aws-service-quotas.html
      I: Verifying whether OpenShift command-line tool is available...
      I: Current OpenShift Client Version: 4.11.6
      I: Creating account roles
      ? Role prefix: ManagedOpenShift 1
      ? Permissions boundary ARN (optional): 2
      ? Path (optional): [? for help] 3
      ? Role creation mode: auto 4
      I: Creating roles using 'arn:aws:iam::<aws_account_number>:user/<aws_username>'
      ? Create the 'ManagedOpenShift-Installer-Role' role? Yes 5
      I: Created role 'ManagedOpenShift-Installer-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Installer-Role'
      ? Create the 'ManagedOpenShift-ControlPlane-Role' role? Yes 6
      I: Created role 'ManagedOpenShift-ControlPlane-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-ControlPlane-Role'
      ? Create the 'ManagedOpenShift-Worker-Role' role? Yes 7
      I: Created role 'ManagedOpenShift-Worker-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Worker-Role'
      ? Create the 'ManagedOpenShift-Support-Role' role? Yes 8
      I: Created role 'ManagedOpenShift-Support-Role' with ARN 'arn:aws:iam::<aws_account_number>:role/ManagedOpenShift-Support-Role'
      I: To create a cluster with these roles, run the following command:
      rosa create cluster --sts

      1
      指定要包含在 OpenShift Cluster Manager IAM 角色名称的前缀。默认为 ManagedOpenShift
      重要

      您必须指定一个在 AWS 帐户间唯一的范围角色前缀,即使您为帐户角色使用自定义 ARN 路径。

      2
      可选:指定角色的权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限
      3
      为您的帐户范围角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符并以 / 结尾,例如 /test/path/dev/。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义
      4
      选择角色创建模式。您可以使用 auto 模式自动创建集群范围的角色和策略。在手动模式中,ros a CLI 生成创建角色和策略所需的 aws 命令。在手动模式中,对应的策略 JSON 文件也会保存到当前目录中。通过 手动模式,您可以在手动运行 aws 命令前查看详情。
      5 6 7 8
      创建集群范围的安装程序、control plane、worker 和支持角色以及对应的 IAM 策略。如需更多信息,请参阅 帐户范围内的 IAM 角色和策略参考
      注意

      在这一步中,ROSA CLI 还会自动创建帐户范围 Operator IAM 策略,这些策略由特定于集群 Operator 策略使用,以允许 ROSA 集群 Operator 执行核心 OpenShift 功能。如需更多信息,请参阅 帐户范围内的 IAM 角色和策略参考

    2. 检查后,手动运行 aws 命令来创建角色和策略。或者,您可以使用 --mode auto 来立即运行 aws 命令。
  2. 可选:如果您使用自己的 AWS KMS 密钥加密 control plane、基础架构、worker 节点根卷和持久性卷(PV),请将帐户范围内安装程序角色的 ARN 添加到 KMS 密钥策略中。

    重要

    只有从默认存储类创建的持久性卷(PV)都使用这个特定密钥加密。

    使用任何其他存储类创建的 PV 仍然会被加密,但 PV 不会使用此密钥加密,除非存储类被特别配置为使用这个密钥。

    1. 将 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 1
      1
      <key_id_or_arn > 替换为 KMS 密钥的 ID 或 ARN。
    2. 将您在上一步中创建的 account-wide 安装程序角色的 ARN 添加到 文件的 statement .Principal.AWS 部分。在以下示例中,添加了默认的 ManagedOpenShift-Installer-Role 角色的 ARN:

      {
          "Version": "2012-10-17",
          "Id": "key-rosa-policy-1",
          "Statement": [
              {
                  "Sid": "Enable IAM User Permissions",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::<aws-account-id>:root"
                  },
                  "Action": "kms:*",
                  "Resource": "*"
              },
              {
                  "Sid": "Allow ROSA use of the key",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": [
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-Support-Role", 1
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-Installer-Role",
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-Worker-Role",
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-ControlPlane-Role"
                      ]
                  },
                  "Action": [
                      "kms:Encrypt",
                      "kms:Decrypt",
                      "kms:ReEncrypt*",
                      "kms:GenerateDataKey*",
                      "kms:DescribeKey"
                  ],
                  "Resource": "*"
              },
              {
                  "Sid": "Allow attachment of persistent resources",
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": [
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-Support-Role", 2
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-Installer-Role",
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-Worker-Role",
                          "arn:aws:iam::<aws-account-id>:role/ManagedOpenShift-ControlPlane-Role"
                      ]
                  },
                  "Action": [
                      "kms:CreateGrant",
                      "kms:ListGrants",
                      "kms:RevokeGrant"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "Bool": {
                          "kms:GrantIsForAWSResource": "true"
                      }
                  }
              }
          ]
      }
      1 2
      您必须为创建 ROSA 集群时使用的集群范围角色指定 ARN。部分中列出的 ARN 必须用逗号分开。
    3. 将更改应用到您的 KMS 密钥策略:

      $ aws kms put-key-policy --key-id <key_id_or_arn> \ 1
          --policy file://kms-key-policy.json \ 2
          --policy-name default
      1
      <key_id_or_arn > 替换为 KMS 密钥的 ID 或 ARN。
      2
      当在本地文件中引用密钥策略时,您必须包含 file:// 前缀。

      在下一步中创建集群时,可以引用 KMS 密钥的 ARN。

  3. 使用自定义安装选项创建带有 STS 的集群。您可以使用 --interactive 模式以互动方式指定自定义设置:

    $ rosa create cluster --interactive --sts

    输出示例

    I: Interactive mode enabled.
    Any optional fields can be left empty and a default will be selected.
    ? Cluster name: <cluster_name>
    ? OpenShift version: 4.8.9 1
    I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role for the Installer role 2
    I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role for the ControlPlane role
    I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role for the Worker role
    I: Using arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role for the Support role
    ? External ID (optional):
    ? Operator roles prefix: <cluster_name>-<random_string> 3
    ? Multiple availability zones (optional): No 4
    ? AWS region: us-east-1
    ? PrivateLink cluster (optional): No
    ? Install into an existing VPC (optional): No
    ? Select availability zones (optional): No
    ? Enable Customer Managed key (optional): No 5
    ? Compute nodes instance type (optional):
    ? Enable autoscaling (optional): No
    ? Compute nodes: 2
    ? Machine CIDR: 10.0.0.0/16
    ? Service CIDR: 172.30.0.0/16
    ? Pod CIDR: 10.128.0.0/14
    ? Host prefix: 23
    ? Encrypt etcd data (optional): No 6
    ? Disable Workload monitoring (optional): No
    I: Creating cluster '<cluster_name>'
    I: To create this cluster again in the future, you can run:
       rosa create cluster --cluster-name <cluster_name> --role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role --support-role-arn arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role --master-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role --worker-iam-role arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role --operator-roles-prefix <cluster_name>-<random_string> --region us-east-1 --version 4.8.9 --compute-nodes 2 --machine-cidr 10.0.0.0/16 --service-cidr 172.30.0.0/16 --pod-cidr 10.128.0.0/14 --host-prefix 23 7
    I: To view a list of clusters and their status, run 'rosa list clusters'
    I: Cluster '<cluster_name>' has been created.
    I: Once the cluster is installed you will need to add an Identity Provider before you can login into the cluster. See 'rosa create idp --help' for more information.
    ...

    1
    在创建集群时,列出的 OpenShift 版本 选项包括主要、次版本和补丁版本,如 4.8.9
    2
    如果您在集群版本的 AWS 帐户中有多组帐户角色,则会提供交互式选项列表。
    3
    可选:默认情况下,特定于集群的 Operator 角色名称使用集群名称和随机 4 位哈希值作为前缀。您可以选择在角色名称中指定自定义前缀来替换 < cluster_name>-<hash >。创建特定于集群的 Operator IAM 角色时会应用前缀。有关前缀的详情,请参阅 定义 Operator IAM 角色前缀
    注意

    如果您在创建关联的帐户范围角色时指定了自定义 ARN 路径,则会自动检测到自定义路径。当您在后续步骤中创建自定义路径时,自定义路径会应用到特定于集群的 Operator 角色。

    4
    建议为生产环境工作负载使用多个可用区。默认值为单个可用区。
    5
    如果您使用自己的 AWS KMS 密钥加密 control plane、基础架构、worker 节点根卷和 PV,请启用这个选项。在前面的步骤中,为添加到帐户范围角色 ARN 的 KMS 密钥指定 ARN。
    重要

    只有从默认存储类创建的持久性卷(PV)都使用这个特定密钥加密。

    使用任何其他存储类创建的 PV 仍然会被加密,但 PV 不会使用此密钥加密,除非存储类被特别配置为使用这个密钥。

    6
    仅在您的用例需要 etcd 键值加密时启用这个选项,除了默认加密 etcd 卷的 control plane 存储加密之外。使用此选项时,etcd 键的值被加密,而不是键本身。
    重要

    通过在 etcd 中为密钥值启用 etcd 加密,则会出现大约 20% 的性能开销。除了加密 etcd 卷的默认 control plane 存储加密外,还会引入第二层加密的开销。红帽建议仅在特别需要时才启用 etcd 加密。

    7
    输出中包括了一个可以运行的自定义命令来创建使用相同配置的集群。

    作为使用 --interactive 模式的替代选择,您可以在运行 rosa 创建集群时 直接指定自定义选项。运行 rosa create cluster --help 查看可用 CLI 选项列表。

    重要

    您必须完成以下步骤来创建 Operator IAM 角色和 OpenID Connect (OIDC)供应商,将集群的状态移到 ready

  4. 创建特定于集群的 Operator IAM 角色:

    1. 在当前工作目录中生成 Operator IAM 策略 JSON 文件,并输出 aws CLI 命令以查看:

      $ rosa create operator-roles --mode manual --cluster <cluster_name|cluster_id> 1
      1
      手动模式 生成 aws CLI 命令和创建 Operator 角色所需的 JSON 文件。检查后,您必须手动运行命令来创建资源。
    2. 检查后,运行 aws 命令,以创建 Operator IAM 角色并将受管 Operator 策略附加到它们。另外,您可以使用 --mode auto 来再次运行前面的命令来立即运行 aws 命令。

      注意

      如果您在上一步中指定了前缀,则会将自定义前缀应用于 Operator 角色名称。

      如果您在创建关联的帐户范围角色时指定了自定义 ARN 路径,则会自动检测并应用自定义路径,并应用到 Operator 角色。

  5. 创建集群 Operator 用于进行身份验证的 OpenID Connect (OIDC)供应商:

    $ rosa create oidc-provider --mode auto --cluster <cluster_name|cluster_id> 1
    1
    auto 模式会立即运行 aws CLI 命令,用于创建 OIDC 供应商。
  6. 检查集群的状态:

    $ rosa describe cluster --cluster <cluster_name|cluster_id>

    输出示例

    Name:                       <cluster_name>
    ID:                         <cluster_id>
    External ID:                <external_id>
    OpenShift Version:          <version>
    Channel Group:              stable
    DNS:                        <cluster_name>.xxxx.p1.openshiftapps.com
    AWS Account:                <aws_account_id>
    API URL:                    https://api.<cluster_name>.xxxx.p1.openshiftapps.com:6443
    Console URL:                https://console-openshift-console.apps.<cluster_name>.xxxx.p1.openshiftapps.com
    Region:                     <aws_region>
    Multi-AZ:                   false
    Nodes:
     - Master:                  3
     - Infra:                   2
     - Compute:                 2
    Network:
     - Service CIDR:            172.30.0.0/16
     - Machine CIDR:            10.0.0.0/16
     - Pod CIDR:                10.128.0.0/14
     - Host Prefix:             /23
    STS Role ARN:               arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role
    Support Role ARN:           arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role
    Instance IAM Roles:
     - Master:                  arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role
     - Worker:                  arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role
    Operator IAM Roles:
     - arn:aws:iam::<aws_account_id>:role/<cluster_name>-xxxx-openshift-ingress-operator-cloud-credentials
     - arn:aws:iam::<aws_account_id>:role/<cluster_name-xxxx-openshift-cluster-csi-drivers-ebs-cloud-credent
     - arn:aws:iam::<aws_account_id>:role/<cluster_name-xxxx-openshift-machine-api-aws-cloud-credentials
     - arn:aws:iam::<aws_account_id>:role/<cluster_name-xxxx-openshift-cloud-credential-operator-cloud-crede
     - arn:aws:iam::<aws_account_id>:role/<cluster_name-xxxx-openshift-image-registry-installer-cloud-creden
    State:                      ready
    Private:                    No
    Created:                    Oct  1 2021 08:12:25 UTC
    Details Page:               https://console.redhat.com/openshift/details/s/<subscription_id>
    OIDC Endpoint URL:          https://rh-oidc.s3.<aws_region>.amazonaws.com/<cluster_id>

    集群安装进行时,会输出以下 State 字段更改:

    • 等待(用于 OIDC 配置)
    • 待定(准备帐户)
    • 安装(DNS 设置进行中)
    • installing
    • ready

      注意

      如果安装失败或者 State 字段在大约 40 分钟后没有变为 ready,请检查安装故障排除文档以了解详细信息。如需更多信息,请参阅故障排除安装。如需联系红帽支持以获取帮助的步骤,请参阅 Red Hat OpenShift Service on AWS 支持

  7. 通过观察 OpenShift 安装程序日志来跟踪集群创建的进度:

    $ rosa logs install --cluster <cluster_name|cluster_id> --watch 1
    1
    指定在安装过程中监视新日志消息的 --watch 标志。这个参数是可选的。

2.6. 后续步骤

2.7. 其他资源

第 3 章 互动集群创建模式参考

本节概述使用互动模式创建 OCM 角色、用户角色以及 AWS (ROSA)集群上的 Red Hat OpenShift Service (ROSA)集群上显示的选项。

3.1. 互动 OCM 和用户角色创建模式选项

在使用 Red Hat OpenShift Cluster Manager 在 AWS (ROSA)集群中使用 AWS 安全令牌服务(STS)创建 Red Hat OpenShift Service 之前,必须通过创建并链接 OCM 和用户角色来将 AWS 帐户与 Red Hat 组织相关联。在运行 rosa create ocm-rolerosa create user-role 时,您可以指定 --interactive 选项来启用交互式模式。

下表描述了互动 OCM 角色创建模式选项:

表 3.1. --interactive OCM 角色创建模式选项

字段描述

角色前缀

指定要包含在 OCM IAM 角色名称的前缀。默认为 ManagedOpenShift。每个红帽机构的 AWS 帐户只能创建一个 OCM 角色。

为 OCM 角色启用管理功能(可选)

启用 admin OCM IAM 角色,这等同于指定 --admin 参数。如果要使用 自动 模式来自动置备特定于集群的 Operator 角色和 OIDC 供应商,则需要 admin 角色。

权限边界 ARN (可选)

为 OCM 角色指定权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限

Role Path (可选)

为您的 OCM 角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符并以 / 结尾,例如 /test/path/dev/。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义

角色创建模式

选择角色创建模式。您可以使用 auto 模式自动创建 OCM 角色,并将其链接到您的红帽机构帐户。在手动模式中,ros a CLI 生成创建并链接角色所需的 aws 命令。在手动模式中,对应的策略 JSON 文件也会保存到当前目录中。通过 手动模式,您可以在手动运行 aws 命令前查看详情。

创建 '<ocm_role_name>' 角色?

确认您要创建 OCM 角色。

将 '<ocm_role_arn>' 角色链接到机构 '<red_hat_organization_id>'?

确认您是否想将 OCM 角色链接到您的红帽机构。

下表描述了互动用户角色创建模式选项:

表 3.2. --interactive 用户角色创建模式选项

字段描述

角色前缀

指定要包含在用户角色名称的前缀。默认为 ManagedOpenShift

权限边界 ARN (可选)

为用户角色指定权限边界 Amazon Resource Name (ARN)。如需更多信息,请参阅 AWS 文档中的 IAM 实体的权限界限

Role Path (可选)

为您的用户角色指定自定义 ARN 路径。该路径必须仅包含字母数字字符并以 / 结尾,例如 /test/path/dev/。如需更多信息,请参阅 IAM 角色和策略的 ARN 路径自定义

角色创建模式

选择角色创建模式。您可以使用 auto 模式自动创建用户角色,并将其链接到 OpenShift Cluster Manager 用户帐户。在手动模式中,ros a CLI 生成创建并链接角色所需的 aws 命令。在手动模式中,对应的策略 JSON 文件也会保存到当前目录中。通过 手动模式,您可以在手动运行 aws 命令前查看详情。

创建 '<user_role_name>' 角色?

确认您是否要创建用户角色。

将 '<user_role_arn>' 角色链接到帐户 '<red_hat_user_account_id>'?

确认您是否想将用户角色链接到您的红帽用户帐户。

3.2. 互动集群创建模式选项

您可以使用互动模式,在 AWS 集群上使用 AWS 安全令牌服务(STS)创建 Red Hat OpenShift Service。在运行 rosa create cluster 时指定 --interactive 选项来启用模式。

下表描述了互动集群创建模式选项:

表 3.3. --interactive 集群创建模式选项

字段描述

集群名称

为集群输入一个名称,如 my-rosa-cluster

使用 AWS STS 部署集群

创建一个 OpenShift 集群,它使用 AWS 安全令牌服务 (STS) 为组件特定的 AWS Identity and Access Management (IAM) 角色分配临时的、有有限权限的凭证。该服务可让集群组件使用安全云资源管理实践来发出 AWS API 调用。默认值为 Yes

OpenShift version

选择要安装的 OpenShift 版本,如 4.3.12。默认为最新版本。

安装程序角色 ARN

如果您在集群版本的 AWS 帐户中有多个帐户角色集合,则会提供一个安装程序角色 ARN 列表。选择您要与集群的安装程序角色的 ARN。集群使用与所选安装程序角色相关的集群范围的角色和策略。

外部 ID (可选)

指定在假定帐户角色时由 OpenShift Cluster Manager 和 OpenShift 安装程序传递的唯一标识符。只有在需要需要外部 ID 的自定义帐户角色时才需要这个选项。

Operator 角色前缀

输入前缀,以分配给特定于集群 Operator IAM 角色。默认值是集群名称和 4 位随机字符串,如 my-rosa-cluster-a0b1

多个可用区(可选)

将集群部署到 AWS 区域中的多个可用区。默认值为 No,这会导致集群被部署到一个可用区。如果您将集群部署到多个可用区,AWS 区域必须至少有 3 个可用区。建议为生产环境工作负载使用多个可用区。

AWS 区域

指定要将集群部署到的 AWS 区域。这会覆盖 AWS_REGION 环境变量。

PrivateLink 集群(可选)

使用 AWS PrivateLink 创建集群。这个选项提供虚拟私有云(VPC)、AWS 服务和内部网络之间的私有连接,而无需向公共互联网公开流量。为了提供支持,红帽站点可靠性工程(SRE)可以使用 AWS PrivateLink Virtual Private Cloud (VPC)端点连接到集群。在集群创建后无法更改这个选项。默认值为 No

安装到现有的 VPC 中(可选)

将集群安装到现有 AWS VPC 中。要使用这个选项,您的 VPC 必须为每个要安装集群的可用区有 2 个子网。默认值为 No

选择可用区(可选)

指定要安装到现有 AWS VPC 时使用的可用区。使用逗号分隔列表提供可用性区域。如果您指定了 No,安装程序会自动选择可用区。

启用客户管理密钥(可选)

启用这个选项,使用特定的 AWS Key Management Service (KMS)密钥作为持久数据的加密密钥。这个密钥作为 control plane、基础架构和 worker 节点的 root 卷的加密密钥。密钥也在默认存储类上配置,以确保使用默认存储类创建的持久性卷将使用特定的 KMS 密钥加密。禁用后,默认使用指定区域的帐户 KMS 密钥来确保始终加密持久数据。默认值为 No

Compute 节点实例类型

选择计算节点实例类型。默认值为 m5.xlarge

启用自动扩展(可选)

启用计算节点自动扩展。自动缩放器会调整集群的大小,以满足您的部署需求。默认值为 No

Compute 节点

指定要置备到每个可用区的计算节点数量。在单一可用区中部署的集群至少需要 2 个节点。部署到多个区中的集群必须至少有 3 个节点。worker 节点的最大数量为 180 个节点。默认值为 2

Machine CIDR

指定机器(集群节点)的 IP 地址范围,它您的 VPC 子网的所有 CIDR 地址范围。子网必须连续。单可用区部署支持最少有 128 个地址的 IP 地址范围(使用子网前缀 /25)。多可用区部署支持最少 256 个地址的 IP 地址范围(使用子网前缀 /24)。默认值为 10.0.0.0/16。这个范围不得与任何连接的网络冲突。

Service CIDR

指定服务的 IP 地址范围。范围必须足够大,以适应您的工作负载。该地址块不得与从集群内部访问的任何外部服务重叠。默认为 172.30.0.0/16。建议在集群间是相同的。

Pod CIDR

指定 pod 的 IP 地址范围。范围必须足够大,以适应您的工作负载。该地址块不得与从集群内部访问的任何外部服务重叠。默认为 10.128.0.0/14。建议在集群间是相同的。

主机前缀

指定分配给调度到各个机器的 pod 的子网前缀长度。主机前缀决定了每台机器的 pod IP 地址池。例如,如果主机前缀设置为 /23,则每台机器从 pod CIDR 地址范围中分配一个 /23 子网。默认值为 /23,允许每个节点 512 个集群节点和 512 个 pod,它们都超过我们的支持的最大值。有关支持的最大值的详情,请参考下面的附加资源部分。

加密 etcd 数据(可选)

在 AWS 上的 Red Hat OpenShift Service 中,control plane 存储会默认加密,这包括 etcd 卷的加密。您还可以启用 Encrypt etcd data 选项加密 etcd 中某些资源的键值,而不是键本身。

重要

通过在 etcd 中为密钥值启用 etcd 加密,则会出现大约 20% 的性能开销。除了加密 etcd 卷的默认 control plane 存储加密外,还会引入第二层加密的开销。红帽建议仅在特别需要时才启用 etcd 加密。

禁用工作负载监控(可选)

禁用监控用户定义的项目。默认启用了对用户定义的项目的监控。

3.3. 其他资源

第 5 章 访问 ROSA 集群

建议您使用身份提供程序(IDP)帐户访问 AWS (ROSA)集群中的 Red Hat OpenShift Service。但是,创建集群的集群管理员可以使用快速访问过程进行访问。

本文档论述了如何使用 rosa CLI 访问集群并设置 IDP。另外,您可以使用 OpenShift Cluster Manager 控制台创建 IDP 帐户。

5.1. 快速访问集群

您可以使用此快速访问过程来登录到集群。

注意

作为最佳实践,使用 IDP 帐户改用 IDP 帐户访问集群。

流程

  1. 输入以下命令:

    $ rosa create admin --cluster=<cluster_name>

    输出示例

    W: It is recommended to add an identity provider to login to this cluster. See 'rosa create idp --help' for more information.
    I: Admin account has been added to cluster 'cluster_name'. It may take up to a minute for the account to become active.
    I: To login, run the following command:
    oc login https://api.cluster-name.t6k4.i1.oragnization.org:6443 \
    --username cluster-admin \
    --password FWGYL-2mkJI-3ZTTZ-rINns

  2. 在上一命令的输出中输入 oc login 命令、用户名和密码:

    输出示例

    $ oc login https://api.cluster_name.t6k4.i1.oragnization.org:6443 \
    >  --username cluster-admin \
    >  --password FWGYL-2mkJI-3ZTTZ-rINns
    Login successful.                                                                                                                                                                                                                                                       You have access to 77 projects, the list has been suppressed. You can list all projects with ' projects'

  3. 使用 default 项目,输入此 oc 命令验证是否创建了集群管理员访问权限:

    $ oc whoami

    输出示例

    cluster-admin

5.2. 使用 IDP 帐户访问集群

要登录到集群,您可以配置身份提供程序(IDP)。此流程使用 GitHub 作为示例 IDP。要查看其他支持的 IDP,请运行 rosa create idp --help 命令。

注意

或者,作为创建集群的用户,您可以使用快速访问过程。

流程

使用 IDP 帐户访问集群:

  1. 添加 IDP.

    1. 以下命令创建了 GitHub 支持的 IDP。运行此命令后,请按照输出中的交互式提示访问 GitHub 开发人员设置 并配置新的 OAuth 应用。

      $ rosa create idp --cluster=<cluster_name> --interactive
    2. 输入以下值:

      • 身份提供程序的类型: github
      • Restrict to members of: organizations(如果您没有 GitHub 机构,您可以立即创建一个)
      • GitHub organizations: rh-test-org (您的组织的名称)

      输出示例

      I: Interactive mode enabled.
      Any optional fields can be left empty and a default will be selected.
      ? Type of identity provider: github
      ? Restrict to members of: organizations
      ? GitHub organizations: rh-test-org
      ? To use GitHub as an identity provider, you must first register the application:
        - Open the following URL:
          https://github.com/organizations/rh-rosa-test-cluster/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.rh-rosa-test-cluster.z7v0.s1.devshift.org%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=rh-rosa-test-cluster-stage&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.rh-rosa-test-cluster.z7v0.s1.devshift.org
        - Click on 'Register application'
      ...

    3. 按照输出中的 URL 并选择 Register application,在 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用 ROSA 中构建的 OAuth 服务器,以便验证您的 GitHub 组织的成员到集群中。

      注意

      Register a new OAuth application GitHub 表单中的字段通过 rosa CLI 工具定义的 URL 自动填充所需的值。

    4. 使用您创建的 GitHub 应用程序的信息并继续提示。输入以下值:

      • 客户端 ID:& lt;my_github_client_id>
      • Client Secret: [ for help] < my_github_client_secret>
      • hostname:(可选,您可以暂时留空)
      • 映射方法: claim

      持续的输出示例

      ...
      ? Client ID: <my_github_client_id>
      ? Client Secret: [? for help] <my_github_client_secret>
      ? Hostname:
      ? Mapping method: claim
      I: Configuring IDP for cluster 'rh_rosa_test_cluster'
      I: Identity Provider 'github-1' has been created. You need to ensure that there is a list of cluster administrators defined. See 'rosa create user --help' for more information. To login into the console, open https://console-openshift-console.apps.rh-test-org.z7v0.s1.devshift.org and click on github-1

      IDP 可能需要在集群中配置 1-2 分钟时间。

    5. 输入以下命令验证您的 IDP 是否已正确配置:

      $ rosa list idps --cluster=<cluster_name>

      输出示例

      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org/oauth2callback/github-1

  2. 登录到您的集群。

    1. 输入以下命令获取集群 的控制台 URL

      $ rosa describe cluster --cluster=<cluster_name>

      输出示例

      Name:        rh-rosa-test-cluster1
      ID:          1de87g7c30g75qechgh7l5b2bha6r04e
      External ID: 34322be7-b2a7-45c2-af39-2c684ce624e1
      API URL:     https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443
      Console URL: https://console-openshift-console.apps.rh-rosa-test-cluster1.j9n4.s1.devshift.org
      Nodes:       Master: 3, Infra: 3, Compute: 4
      Region:      us-east-2
      State:       ready
      Created:     May 27, 2020

    2. 导航到 Console URL,并使用 Github 凭证登录。
    3. 在 OpenShift 控制台右上角,点您的名字并点击 Copy Login Command
    4. 选择您添加的 IDP 的名称(在这里是 github-1),然后点 Display Token
    5. oc login 命令复制并粘贴到您的终端中。

      $ oc login --token=z3sgOGVDk0k4vbqo_wFqBQQTnT-nA-nQLb8XEmWnw4X --server=https://api.rh-rosa-test-cluster1.j9n4.s1.devshift.org:6443

      输出示例

      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".

    6. 输入简单的 oc 命令,以验证一切设置是否正确,且您已登录。

      $ oc version

      输出示例

      Client Version: 4.4.0-202005231254-4a4cd75
      Server Version: 4.3.18
      Kubernetes Version: v1.16.2

5.3. 授予 cluster-admin 访问权限

作为创建集群的用户,将 cluster-admin 用户角色分配给您的帐户,使其具有最大管理员权限。创建集群时,这些权限不会自动分配给您的用户帐户。

另外,只有创建集群的用户才可以向其他 cluster-admindedicated-admin 用户授予集群访问权限。具有 dedicated-admin 访问权限的用户拥有较少的权限。作为最佳实践,将 cluster-admin 用户的数量限制为尽量多。

前提条件

  • 您已在集群中添加了身份供应商(IDP)。
  • 您有要创建的用户的 IDP 用户名。
  • 已登陆到集群。

流程

  1. 授予用户 cluster-admin 权限:

    $ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name>
  2. 验证您的用户被列为集群管理员:

    $ rosa list users --cluster=<cluster_name>

    输出示例

    GROUP             NAME
    cluster-admins    rh-rosa-test-user
    dedicated-admins  rh-rosa-test-user

  3. 输入以下命令验证用户现在是否具有 cluster-admin 访问权限。集群管理员可在没有错误的情况下运行此命令,但专用管理员无法。

    $ oc get all -n openshift-apiserver

    输出示例

    NAME                  READY   STATUS    RESTARTS   AGE
    pod/apiserver-6ndg2   1/1     Running   0          17h
    pod/apiserver-lrmxs   1/1     Running   0          17h
    pod/apiserver-tsqhz   1/1     Running   0          17h
    NAME          TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)   AGE
    service/api   ClusterIP   172.30.23.241   <none>        443/TCP   18h
    NAME                       DESIRED   CURRENT   READY   UP-TO-DATE   AVAILABLE   NODE SELECTOR                     AGE
    daemonset.apps/apiserver   3         3         3       3            3           node-role.kubernetes.io/master=   18h

5.4. 授予 dedicated-admin 访问权限

只有创建集群的用户才能授予集群对其他 cluster-admindedicated-admin 用户的访问权限。具有 dedicated-admin 访问权限的用户拥有较少的权限。作为最佳实践,可将 dedicated-admin 访问权限授予您的大部分管理员。

前提条件

  • 您已在集群中添加了身份供应商(IDP)。
  • 您有要创建的用户的 IDP 用户名。
  • 已登陆到集群。

流程

  1. 输入以下命令将用户提升为 dedicated-admin

    $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
  2. 输入以下命令验证您的用户现在是否具有 dedicated-admin 访问权限:

    $ oc get groups dedicated-admins

    输出示例

    NAME               USERS
    dedicated-admins   rh-rosa-test-user

    注意

    如果没有 dedicated-admin 特权的用户运行此命令,则会显示 Forbidden 错误。

5.5. 其他资源

第 6 章 为 STS 配置身份提供程序

在创建了 Red Hat OpenShift Service on AWS (ROSA)集群后,您必须配置身份提供程序来确定用户如何登录集群。

以下主题描述了如何使用 OpenShift Cluster Manager 控制台配置身份提供程序。另外,您可以使用 rosa CLI 配置身份提供程序并访问集群。

6.1. 了解身份提供程序

AWS 上的 Red Hat OpenShift Service 包含内置的 OAuth 服务器。开发人员和管理员获取 OAuth 访问令牌,以完成自身的 API 身份验证。作为管理员,您可以在安装集群后通过配置 OAuth 来指定身份提供程序。配置身份提供程序可让用户登录和访问集群。

6.1.1. 支持的身份提供程序

您可以配置以下类型的身份提供程序:

用户身份提供程序描述

Github 或 GitHub Enterprise

配置 GitHub 身份提供程序,针对 GitHub 或 GitHub Enterprise 的 OAuth 身份验证服务器验证用户名和密码。

GitLab

配置 GitLab 身份提供程序,以使用 GitLab.com 或任何其他 GitLab 实例作为身份提供程序。

Google

配置 Google 身份提供程序,使用 Google 的 OpenID Connect 集成

LDAP

配置 LDAP 身份提供程序,以使用简单的绑定身份验证针对 LDAPv3 服务器验证用户名和密码。

OpenID Connect

配置 OpenID Connect (OIDC)身份提供程序,以使用授权代码流与 OIDC 身份提供程序 集成

HTPasswd

为单个静态管理用户配置 HTPasswd 身份提供程序。您可以以用户身份登录到集群来排除问题。

重要

HTPasswd 身份提供程序选项仅包含创建单一静态管理用户。htpasswd 不支持作为 AWS 上的 Red Hat OpenShift Service 的通用身份提供程序。有关配置单个用户的步骤,请参阅配置 HTPasswd 身份提供程序

6.1.2. 身份提供程序参数

以下是所有身份提供程序通用的参数:

参数描述

name

此提供程序名称作为前缀放在提供程序用户名前,以此组成身份名称。

mappingMethod

定义在用户登录时如何将新身份映射到用户。输入以下值之一:

claim
默认值。使用身份的首选用户名置备用户。如果具有该用户名的用户已映射到另一身份,则失败。
lookup
查找现有的身份、用户身份映射和用户,但不自动置备用户或身份。这允许集群管理员手动或使用外部流程设置身份和用户。使用此方法需要手动置备用户。
generate
使用身份的首选用户名置备用户。如果拥有首选用户名的用户已映射到现有的身份,则生成一个唯一用户名。例如:myuser2。此方法不应与需要在 AWS 用户名和身份提供程序用户名(如 LDAP 组同步)上的 Red Hat OpenShift Service 上完全匹配的外部进程一同使用。
add
使用身份的首选用户名置备用户。如果已存在具有该用户名的用户,此身份将映射到现有用户,添加到该用户的现有身份映射中。如果配置了多个身份提供程序并且它们标识同一组用户并映射到相同的用户名,则需要进行此操作。
注意

在添加或更改身份提供程序时,您可以通过把 mappingMethod 参数设置为 add,将新提供程序中的身份映射到现有的用户。

6.2. 配置 GitHub 身份提供程序

配置 GitHub 身份提供程序,针对 GitHub 或 GitHub Enterprise 的 OAuth 身份验证服务器验证用户名和密码,并访问 Red Hat OpenShift Service on AWS 集群。OAuth 可促进 AWS 和 GitHub 或 GitHub Enterprise 上的 Red Hat OpenShift Service 之间的令牌交换流。

警告

配置 GitHub 身份验证后,用户可以使用其 GitHub 凭据登录 AWS 上的 Red Hat OpenShift Service。要防止具有任何 GitHub 用户 ID 的任何人登录 AWS 集群上的 Red Hat OpenShift Service,您必须只允许特定 GitHub 机构或团队中的访问。

前提条件

流程

  1. OpenShift Cluster Manager Hybrid Cloud Console 中,导航到 Clusters 页面并选择您需要为其配置身份提供程序的集群。
  2. Access control 选项卡。
  3. Add identity provider

    注意

    您还可以在集群创建后点击警告信息中的 Add Oauth 配置 链接来配置身份提供程序。

  4. 从下拉菜单中选择 GitHub
  5. 输入身份提供程序的唯一名称。稍后无法更改此名称。

    • 提供的字段中自动生成 OAuth 回调 URL。您将使用它注册 GitHub 应用程序。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如:

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/github
  6. 在 GitHub 上注册应用程序
  7. 返回到 AWS 上的 Red Hat OpenShift Service,从下拉菜单中选择一个映射方法。在大多数情况下,建议使用 声明
  8. 输入 GitHub 提供的客户端 ID客户端 secret
  9. 输入一个主机名。使用托管 GitHub Enterprise 实例时,必须输入主机名。
  10. 可选: 您可以使用证书颁发机构(CA)文件验证配置的 GitHub Enterprise URL 的服务器证书。点 Browse 找到并将 CA 文件附加到 身份提供程序。
  11. 选择 Use organizationsUse teams 以限制对特定 GitHub 组织或 GitHub 团队的访问。
  12. 输入您要限制访问权限的机构或团队的名称。点 Add more 指定用户可以成为用户所属的多个机构或团队。
  13. 单击 Confirm

验证

  • 现在,在 Clusters 页面的 Access control 标签页中可以看到配置的身份提供程序。

6.3. 配置 GitLab 身份提供程序

配置 GitLab 身份提供程序,以使用 GitLab.com 或任何其他 GitLab 实例作为身份提供程序。

前提条件

  • 如果使用 GitLab 版本 7.7.0 到 11.0,您可以使用 OAuth 集成进行连接。如果使用 GitLab 版本 11.1 或更高版本,您可以使用 OpenID Connect (OIDC) 进行连接,而不使用 OAuth。

流程

  1. OpenShift Cluster Manager Hybrid Cloud Console 中,导航到 Clusters 页面并选择您需要为其配置身份提供程序的集群。
  2. Access control 选项卡。
  3. Add identity provider

    注意

    您还可以在集群创建后点击警告信息中的 Add Oauth 配置 链接来配置身份提供程序。

  4. 从下拉菜单中选择 GitLab
  5. 输入身份提供程序的唯一名称。稍后无法更改此名称。

    • 提供的字段中自动生成 OAuth 回调 URL。您将把这个 URL 提供给 GitLab。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如:

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/gitlab
  6. 在 GitLab 中添加新应用程序
  7. 返回到 AWS 上的 Red Hat OpenShift Service,从下拉菜单中选择一个映射方法。在大多数情况下,建议使用 声明
  8. 输入 GitLab 提供的客户端 ID客户端 secret
  9. 输入 GitLab 提供程序的 URL
  10. 可选: 您可以使用证书颁发机构(CA)文件验证配置的 GitLab URL 的服务器证书。点 Browse 找到并将 CA 文件附加到 身份提供程序。
  11. 单击 Confirm

验证

  • 现在,在 Clusters 页面的 Access control 标签页中可以看到配置的身份提供程序。

6.4. 配置 Google 身份提供程序

配置 Google 身份提供程序,以便用户通过 Google 凭证进行身份验证。

警告

使用 Google 作为身份提供程序时,任何 Google 用户都能与您的服务器进行身份验证。您可以使用 hostedDomain 配置属性,将身份验证限制为特定托管域的成员。

流程

  1. OpenShift Cluster Manager Hybrid Cloud Console 中,导航到 Clusters 页面并选择您需要为其配置身份提供程序的集群。
  2. Access control 选项卡。
  3. Add identity provider

    注意

    您还可以在集群创建后点击警告信息中的 Add Oauth 配置 链接来配置身份提供程序。

  4. 从下拉菜单中选择 Google
  5. 输入身份提供程序的唯一名称。稍后无法更改此名称。

    • 提供的字段中自动生成 OAuth 回调 URL。您将为 Google 提供此 URL。

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如:

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/google
  6. 配置 Google 身份提供程序,使用 Google 的 OpenID Connect 集成
  7. 返回到 AWS 上的 Red Hat OpenShift Service,从下拉菜单中选择一个映射方法。在大多数情况下,建议使用 声明
  8. 输入注册的 Google 项目的 客户端 ID,以及 Google 发布的 客户端 secret
  9. 输入托管域,将用户限制为 Google Apps 域。
  10. 单击 Confirm

验证

  • 现在,在 Clusters 页面的 Access control 标签页中可以看到配置的身份提供程序。

6.5. 配置 LDAP 身份提供程序

配置 LDAP 身份提供程序,以使用简单的绑定身份验证针对 LDAPv3 服务器验证用户名和密码。

前提条件

  • 在配置 LDAP 身份提供程序时,您需要输入配置的 LDAP URL。配置的 URL 是 RFC 2255 URL,指定要使用的 LDAP 主机和搜索参数。URL 的语法是:

    ldap://host:port/basedn?attribute?scope?filter
    URL 组件描述

    ldap

    对于常规 LDAP,使用 ldap 字符串。对于安全 LDAP (LDAPS),改为使用 ldaps

    host:port

    LDAP 服务器的名称和端口。LDAP 默认为 localhost:389,LDAPS 则默认为 localhost:636

    basedn

    所有搜索都应从中开始的目录分支的 DN。至少,这必须是目录树的顶端,但也可指定目录中的子树。

    attribute

    要搜索的属性。虽然 RFC 2255 允许使用逗号分隔属性列表,但无论提供多少个属性,都仅使用第一个属性。如果没有提供任何属性,则默认使用 uid。建议选择一个在您使用的子树中的所有条目间是唯一的属性。

    scope

    搜索的范围。可以是 onesub。如果未提供范围,则默认使用 sub 范围。

    filter

    有效的 LDAP 搜索过滤器。如果未提供,则默认为 (objectClass=*)

    在进行搜索时,属性、过滤器和提供的用户名会组合在一起,创建类似如下的搜索过滤器:

    (&(<filter>)(<attribute>=<username>))
    重要

    如果 LDAP 目录需要身份验证才能搜索,请指定用于执行条目搜索的 bindDNbindPassword

流程

  1. OpenShift Cluster Manager Hybrid Cloud Console 中,导航到 Clusters 页面并选择您需要为其配置身份提供程序的集群。
  2. Access control 选项卡。
  3. Add identity provider

    注意

    您还可以在集群创建后点击警告信息中的 Add Oauth 配置 链接来配置身份提供程序。

  4. 从下拉菜单中选择 LDAP
  5. 输入身份提供程序的唯一名称。稍后无法更改此名称。
  6. 从下拉菜单中选择一个映射方法。在大多数情况下,建议使用 声明
  7. 输入 LDAP URL 以指定要使用的 LDAP 搜索参数。
  8. 可选:输入 Bind DNBind password
  9. 输入将 LDAP 属性映射到身份的属性。

    • 输入 ID 属性,其值应用作用户 ID。点击 Add more 来添加多个 ID 属性。
    • 可选: 输入首选用户名 属性,其值应用作显示名称。点 Add more 添加多个首选用户名属性。
    • 可选:输入 Email 属性,其值应用作电子邮件地址。点击 Add more 来添加多个电子邮件属性。
  10. 可选:点击 Show advanced Options 将证书颁发机构(CA)文件添加到 LDAP 身份提供程序中,以验证所配置 URL 的服务器证书。点 Browse 找到并将 CA 文件附加到 身份提供程序。
  11. 可选:在高级选项下,您可以选择使 LDAP 供应商不安全。如果选择了这个选项,则无法使用 CA 文件。

    重要

    如果您使用不安全的 LDAP 连接(ldap:// 或端口 389),则必须在配置向导中检查 Insecure 选项。

  12. 单击 Confirm

验证

  • 现在,在 Clusters 页面的 Access control 标签页中可以看到配置的身份提供程序。

6.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 中获取。

必须至少配置一个声明,以用作用户的身份。

您还可以指定将哪些声明用作用户的首选用户名、显示名称和电子邮件地址。如果指定了多个声明,则使用第一个带有非空值的声明。标准的声明是:

声明描述

preferred_username

置备用户时的首选用户名。用户希望使用的简写名称,如 janedoe。通常,与身份验证系统中用户的登录或用户名对应的值,如用户名或电子邮件。

email

电子邮件地址。

name

显示名称。

如需更多信息,请参阅 OpenID 声明文档

前提条件

  • 在配置 OpenID Connect 前,请检查您要与 Red Hat OpenShift Service on AWS 集群上的 Red Hat OpenShift Service 搭配使用的任何 Red Hat 产品或服务的安装先决条件。

流程

  1. OpenShift Cluster Manager Hybrid Cloud Console 中,导航到 Clusters 页面并选择您需要为其配置身份提供程序的集群。
  2. Access control 选项卡。
  3. Add identity provider

    注意

    您还可以在集群创建后点击警告信息中的 Add Oauth 配置 链接来配置身份提供程序。

  4. 从下拉菜单中选择 OpenID
  5. 输入身份提供程序的唯一名称。稍后无法更改此名称。

    • 提供的字段中自动生成 OAuth 回调 URL

      https://oauth-openshift.apps.<cluster_name>.<cluster_domain>/oauth2callback/<idp_provider_name>

      例如:

      https://oauth-openshift.apps.openshift-cluster.example.com/oauth2callback/openid
  6. 使用授权代码流创建授权请求。
  7. 返回到 AWS 上的 Red Hat OpenShift Service,从下拉菜单中选择一个映射方法。在大多数情况下,建议使用 声明
  8. 输入 OpenID 提供的客户端 ID客户端 secret
  9. 输入 发行者 URL。这是 OpenID 供应商断言为 Issuer Identifier 的 URL。它必须使用没有 URL 查询参数或片段的 https 方案。
  10. 输入 Email 属性,其值应用作电子邮件地址。点 Add more 来添加多个电子邮件属性。
  11. 输入 Name 属性,其值应用作首选用户名。点 Add more 添加多个首选用户名。
  12. 输入 首选用户名 属性,其值应用作显示名称。点 Add more 添加多个显示名称。
  13. 可选:点 Show advanced Options 将证书颁发机构 (CA) 文件添加到 OpenID 身份提供程序中。
  14. 可选:在高级选项下,您可以添加 附加范围。默认情况下,请求 OpenID 范围。
  15. 单击 Confirm

验证

  • 现在,在 Clusters 页面的 Access control 标签页中可以看到配置的身份提供程序。

6.7. 配置 HTPasswd 身份提供程序

配置 HTPasswd 身份提供程序,创建具有集群管理特权的单个静态用户。您可以以用户身份登录集群来排除问题。

重要

HTPasswd 身份提供程序选项仅包含创建单一静态管理用户。htpasswd 不支持作为 AWS 上的 Red Hat OpenShift Service 的通用身份提供程序。

流程

  1. OpenShift Cluster Manager Hybrid Cloud Console 中,导航到 Clusters 页面并选择您的集群。
  2. 选择 Access controlIdentity provider
  3. Add identity provider
  4. Identity Provider 下拉菜单中选择 HTPasswd
  5. 在身份提供程序的 Name 字段中添加唯一名称。
  6. 将建议的用户名和密码用于静态用户,或创建自己的。

    注意

    在以下步骤中选择 Add 后,此步骤中定义的凭证不可见。如果丢失了凭证,您必须重新创建身份提供程序并再次定义凭证。

  7. 选择 Add 以创建 HTPasswd 身份提供程序和单个静态用户。
  8. 授予静态用户权限来管理集群:

    1. Access controlCluster Roles and Access 下,选择 Add user
    2. 输入 您在上一步中创建的静态用户的用户 ID。
    3. 选择 dedicated-admins 组中的用户对 AWS 上的 Red Hat OpenShift Service 具有标准管理特权。cluster-admins 组中的用户对集群具有完全的管理访问权限。
    4. 选择 Add user 为用户授予管理权限。

验证

  • 配置的 HTPasswd 身份提供程序在 Access controlIdentity provider 页面中可见。

    注意

    创建身份提供程序后,同步通常在两分钟内完成。HTPasswd 身份提供程序可用后,您可以以 用户身份登录集群。

  • 单一的管理用户可在 Access controlCluster Roles 和 Access 页面中可见。也会显示用户的管理组成员资格。

6.8. 其他资源

第 7 章 撤销对 ROSA 集群的访问

身份供应商(IDP)控制对 AWS (ROSA)集群中的 Red Hat OpenShift Service 的访问。要撤销对集群的用户访问,您必须配置 IDP 中用于身份验证的 IDP。

7.1. 使用 rosa CLI 撤销管理员访问权限

您可以撤销用户的管理员访问权限,以便在没有管理员特权的情况下访问集群。要删除用户的管理员访问权限,您必须撤销 dedicated-admincluster-admin 权限。您可以使用 rosa 命令行实用程序或使用 OpenShift Cluster Manager 控制台撤销管理员权限。

7.1.1. 使用 rosa CLI 撤销 专用管理员访问权限

如果您是创建集群、机构管理员用户或超级用户的用户,您可以撤销 dedicated-admin 用户的访问权限。

前提条件

  • 您已在集群中添加了身份提供程序(IDP)。
  • 您有 IDP 用户名,用于撤销其权限的用户。
  • 已登陆到集群。

流程

  1. 输入以下命令撤销用户的 dedicated-admin 访问权限:

    $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
  2. 输入以下命令验证您的用户是否不再有 dedicated-admin 访问权限。输出不会列出已撤销的用户。

    $ oc get groups dedicated-admins

7.1.2. 使用 rosa CLI 撤销 cluster-admin 访问

只有创建集群的用户才能撤销 cluster-admin 用户的访问权限。

前提条件

  • 您已在集群中添加了身份提供程序(IDP)。
  • 您有 IDP 用户名,用于撤销其权限的用户。
  • 已登陆到集群。

流程

  1. 输入以下命令撤销用户的 cluster-admin 访问:

    $ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
  2. 输入以下命令验证用户是否不再具有 cluster-admin 访问权限。输出不会列出已撤销的用户。

    $ oc get groups cluster-admins

7.2. 使用 OpenShift Cluster Manager 控制台撤销管理员访问权限

您可以通过 OpenShift Cluster Manager 控制台撤销 dedicated-admincluster-admin 访问。用户可以在没有管理员特权的情况下访问集群。

前提条件

  • 您已在集群中添加了身份提供程序(IDP)。
  • 您有 IDP 用户名,用于撤销其权限的用户。
  • 使用您用来创建集群、机构管理员或超级用户的 OpenShift Cluster Manager 帐户登录到 OpenShift Cluster Manager 控制台。

流程

  1. 在 OpenShift Cluster Manager 的 Clusters 选项卡中,选择集群名称来查看集群详情。
  2. 选择 Access control > Cluster Roles and Access
  3. 对于您要删除的用户,请点击用户和组群组合右侧的 Options 菜单 kebab 并点 Delete

第 8 章 删除 ROSA 集群

本文档提供了删除使用 AWS 安全令牌服务 (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群的步骤。删除集群后,您还可以删除集群使用的 AWS Identity and Access Management (IAM)资源。

8.1. 前提条件

  • 如果 Red Hat OpenShift Service on AWS 创建了一个 VPC,则必须从集群中删除以下项目,然后才能成功删除集群:

    • 网络配置,如 VPN 配置和 VPC 对等连接
    • 任何添加到 VPC 中的额外服务

如果这些配置和服务保留,集群不会正确删除。

8.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 资源前完成,因为集群删除和清理过程会用到这些资源。

如果安装了附加组件,集群删除需要更长的时间,因为在删除集群前卸载附加组件。时间的数量取决于附加组件的数量和大小。

前提条件

  • 已安装 ROSA 集群。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

流程

  1. 获取集群 ID、特定于集群 Operator 角色的 Amazon 资源名称 (ARN) 和 OIDC 供应商的端点 URL:

    $ rosa describe cluster --cluster=<cluster_name> 1
    1
    <cluster_name> 替换为集群的名称。

    输出示例

    Name:                       mycluster
    ID:                         1s3v4x39lhs8sm49m90mi0822o34544a 1
    ...
    Operator IAM Roles: 2
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-credential-operator-cloud-crede
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-image-registry-installer-cloud-creden
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-ingress-operator-cloud-credentials
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cluster-csi-drivers-ebs-cloud-credent
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-network-config-controller-cloud
    State:                      ready
    Private:                    No
    Created:                    May 13 2022 11:26:15 UTC
    Details Page:               https://console.redhat.com/openshift/details/s/296kyEFwzoy1CREQicFRdZybrc0
    OIDC Endpoint URL:          https://rh-oidc.s3.us-east-1.amazonaws.com/1s5v4k39lhm8sm59m90mi0822o31844a 3

    1
    列出集群 ID。
    2
    指定特定于集群 Operator 角色的 ARN。例如,在示例输出中,Machine Config Operator 所需的角色的 ARN 是 arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials
    3
    指定特定于集群的 OIDC 供应商的端点 URL。
    重要

    在删除集群后,您需要使用 ROSA CLI (rosa)删除特定于集群的 STS 资源。

  2. 删除集群:

    • 使用 Red Hat OpenShift Cluster Manager 删除集群:

      1. 导航到 OpenShift Cluster Manager Hybrid Cloud Console
      2. 点击集群 kebab 旁边的 Options 菜单并选择 Delete cluster
      3. 在提示符处键入集群名称并点 Delete
    • 使用 ROSA CLI (rosa)删除集群:

      1. 输入以下命令删除集群并观察日志,将 < cluster_name& gt; 替换为集群的名称或 ID:

        $ rosa delete cluster --cluster=<cluster_name> --watch
        重要

        在删除 Operator 角色和 OIDC 供应商前,您必须等待集群删除完成。需要特定于集群的 Operator 角色来清理 OpenShift Operator 创建的资源。Operator 使用 OIDC 供应商进行身份验证。

  3. 删除集群 Operator 用于身份验证的 OIDC 供应商:

    $ rosa delete oidc-provider -c <cluster_id> --mode auto 1
    1
    <cluster_id > 替换为集群的 ID。
    注意

    您可以使用 -y 选项,在提示符处自动回答 yes。

  4. 删除特定于集群的 Operator IAM 角色:

    $ rosa delete operator-roles -c <cluster_id> --mode auto 1
    1
    <cluster_id > 替换为集群的 ID。

其他资源

8.3. 删除集群范围的 IAM 资源

在删除了所有依赖于账户范围的 AWS Identity and Access Management (IAM) 资源的、使用 AWS Security Token Services (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群后,您就可以删除账户范围的资源。

如果您不再需要使用 Red Hat OpenShift Cluster Manager 来安装带有 STS 的 ROSA 集群,您也可以删除 OpenShift Cluster Manager 和用户 IAM 角色。

重要

集群范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有资源不再被其他集群需要时,才删除这些资源。

如果要使用 OpenShift Cluster Manager 在同一个 AWS 帐户中安装、管理和删除其他 ROSA 集群,则需要 OpenShift Cluster Manager 和用户 IAM 角色。如果不再需要使用 OpenShift Cluster Manager 在帐户中安装 ROSA 集群,则必须删除角色。如果在删除前删除了这些角色,请参阅"添加资源"部分。

8.3.1. 删除集群范围的 IAM 角色和策略

本节提供了删除您为使用 STA 的 ROSA 部署所创建的账户范围的 IAM 角色和策略,以及帐户范围内的 Operator 策略的步骤。只有在删除了所有依赖于账户范围的 AWS Identity and Access Management (IAM) 资源的、使用 AWS Security Token Services (STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群后,才可以删除账户范围的 AWS Identity and Access Management (IAM) 角色和策略。

重要

集群范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。

前提条件

  • 已安装 ROSA 集群。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

流程

  1. 删除集群范围的角色:

    1. 使用 ROSA CLI 列出 AWS 帐户中的系统范围角色 (rosa):

      $ rosa list account-roles

      输出示例

      I: Fetching account roles
      ROLE NAME                           ROLE TYPE      ROLE ARN                                                           OPENSHIFT VERSION
      ManagedOpenShift-ControlPlane-Role  Control plane  arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-ControlPlane-Role  4.10
      ManagedOpenShift-Installer-Role     Installer      arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Installer-Role     4.10
      ManagedOpenShift-Support-Role       Support        arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Support-Role       4.10
      ManagedOpenShift-Worker-Role        Worker         arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-Worker-Role        4.10

    2. 删除集群范围的角色:

      $ rosa delete account-roles --prefix <prefix> --mode auto 1
      1
      您必须包含 --<prefix> 参数。将 &lt;prefix> 替换为要删除的集群范围角色前缀。如果您在创建集群范围的角色时没有指定自定义前缀,请指定默认前缀 ManagedOpenShift
      重要

      系统范围的 IAM 角色可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。

  2. 删除集群范围的 in-line 和 Operator 策略:

    1. AWS IAM ConsolePolicies 页面中,根据您在创建帐户范围角色和策略时指定的前缀过滤策略列表。

      注意

      如果您在创建集群范围的角色时没有指定自定义前缀,请搜索默认前缀 ManagedOpenShift

    2. 使用 AWS IAM 控制台 删除集群范围的 in-line 策略和 Operator 策略。有关使用 AWS IAM 控制台删除 IAM 策略的更多信息,请参阅 AWS 文档中的删除 IAM 策略

      重要

      集群范围的 in-line 和 Operator IAM 策略可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。

8.3.2. 取消链接和删除 OpenShift Cluster Manager 和用户 IAM 角色

如果您使用 Red Hat OpenShift Cluster Manager 安装了 Red Hat OpenShift Service on AWS (ROSA) 集群,则创建了 OpenShift Cluster Manager 和用户 Identity and Access Management (IAM) 角色,并将其与您的红帽机构相关联。删除集群后,您可以使用 ROSA CLI (rosa) 取消链接和删除角色。

重要

如果要使用 OpenShift Cluster Manager 在同一个 AWS 帐户中安装和管理其他 ROSA 集群,则需要 OpenShift Cluster Manager 和用户 IAM 角色。如果不再需要使用 OpenShift Cluster Manager 安装 ROSA 集群,则才需要删除角色。

前提条件

  • 您创建了 OpenShift Cluster Manager 和用户 IAM 角色,并将其链接到您的红帽机构。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。
  • 您在红帽组织中具有机构管理员权限。

流程

  1. 从您的红帽机构中取消链接 OpenShift Cluster Manager IAM 角色,并删除角色:

    1. 列出 AWS 帐户中的 OpenShift Cluster Manager IAM 角色:

      $ rosa list ocm-roles

      输出示例

      I: Fetching ocm roles
      ROLE NAME                           ROLE ARN                                                                      LINKED  ADMIN
      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

    2. 如果 OpenShift Cluster Manager IAM 角色在上一命令的输出中被列为链接,请取消链接您的红帽机构中的角色:

      $ rosa unlink ocm-role --role-arn <arn> 1
      1
      <arn > 替换为 OpenShift Cluster Manager IAM 角色的 Amazon Resource Name (ARN)。ARN 在上一命令的输出中指定。在上例中,ARN 的格式为 arn:aws:iam::<aws_account_external_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>'

    3. 删除 OpenShift Cluster Manager IAM 角色和策略:

      $ rosa delete ocm-role --role-arn <arn>

      输出示例

      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

      1
      指定删除模式。您可以使用 auto 模式自动删除 OpenShift Cluster Manager IAM 角色和策略。在手动模式中,ros a CLI 生成删除角色和策略所需的 aws 命令。通过 手动模式,您可以在手动运行 aws 命令前查看详情。
  2. 取消链接红帽机构中的用户 IAM 角色,并删除角色:

    1. 列出 AWS 帐户中的用户 IAM 角色:

      $ rosa list user-roles

      输出示例

      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

    2. 如果您的用户 IAM 角色在上一命令的输出中被列为链接,请取消链接您的红帽机构中的角色:

      $ rosa unlink user-role --role-arn <arn> 1
      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>'

    3. 删除用户 IAM 角色:

      $ rosa delete user-role --role-arn <arn>

      输出示例

      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

      1
      指定删除模式。您可以使用 auto 模式删除用户 IAM 角色。在手动模式中,ros a CLI 生成删除角色所需的 aws 命令。通过 手动模式,您可以在手动运行 aws 命令前查看详情。

8.4. 其他资源

第 9 章 在没有 AWS STS 的情况下部署 ROSA

9.1. ROSA 的 AWS 先决条件

Red Hat OpenShift Service on AWS (ROSA)提供了一个模型,它允许红帽将集群部署到客户的现有 Amazon Web Service (AWS)帐户中。

在安装 ROSA 前,您必须确保满足先决条件。这个要求文档不适用于 AWS 安全令牌服务(STS)。如果使用 STS,请查看 STS 的具体要求

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.1.1. 部署先决条件

要将 Red Hat OpenShift Service on AWS (ROSA) 部署到现有的 Amazon Web Services (AWS) 帐户中,红帽要求满足以下几个先决条件。

红帽建议使用 AWS 机构管理多个 AWS 帐户。由客户管理的 AWS 机构托管多个 AWS 帐户。组织中有一个 root 帐户,所有帐户都将在帐户层次结构中引用。

它是在 AWS 机构单元内托管在 AWS 帐户中的 ROSA 集群的最佳实践。创建服务控制策略 (SCP) 并应用到 AWS 机构单元,后者管理 AWS 子帐户可访问的服务。SCP 只适用于单个 AWS 帐户内所有 AWS 子帐户中的可用权限。也可以将 SCP 应用到单个 AWS 帐户。客户 AWS 组织中的所有其他帐户以客户要求的任何方式进行管理。Red Hat 站点可靠性工程师(SRE)并不对 AWS 机构内的 SCP 产生任何控制权。

9.1.2. 客户需求

在 AWS (ROSA)集群上的 Red Hat OpenShift Service 必须满足几个先决条件,然后才能部署它们。

注意

要创建集群,用户必须以 IAM 用户身份登录,而不是假定的角色或 STS 用户。

9.1.2.1. 帐户

  • 客户可确保 AWS limits 足以支持在客户 AWS 帐户中置备 Red Hat OpenShift Service on AWS。
  • 客户的 AWS 帐户应该位于客户具有适用服务控制策略 (SCP) 的 AWS 机构中。

    注意

    不要求客户的帐户位于 AWS 机构内或要应用的 SCP,但红帽必须能够在不限制任何限制的情况下执行 SCP 中列出的所有操作。

  • 客户的 AWS 帐户不应向红帽传输。
  • 客户可能不会对 Red Hat 活动实施 AWS 使用量限制。受损限制将严重阻碍红帽响应事件的能力。
  • 客户可以在同一 AWS 帐户内部署原生 AWS 服务。

    注意

    我们鼓励客户在虚拟私有云(VPC)中部署资源,与在 AWS 和其它 Red Hat 支持服务的 VPC 中分离。

9.1.2.2. 访问要求

  • 要在 AWS 服务上正确管理 Red Hat OpenShift Service,红帽始终必须将 AdministratorAccess 策略应用到管理员角色。如果您使用 AWS 安全令牌服务(STS),则这个要求 不适用

    注意

    此政策仅向红帽提供了在客户提供的 AWS 帐户中更改资源的权限和功能。

  • 红帽必须有权访问用户提供的 AWS 帐户的 AWS 控制台。这种访问受到红帽保护和管理。
  • 客户不得使用 AWS 帐户在 AWS 集群中的 Red Hat OpenShift Service 中提升其权限。
  • rosa CLI 实用程序或 OpenShift Cluster Manager 混合云控制台 中提供的操作不能在客户的 AWS 帐户中直接执行。

9.1.2.3. 支持要求

  • 红帽建议客户至少通过 AWS 的业务支持
  • 红帽有权代表客户请求 AWS 支持。
  • 红帽的客户授权可以请求 AWS 资源限制来增加客户的帐户。
  • 除非本要求部分中另有指定,否则红帽以相同的方式管理所有 Red Hat OpenShift Service on AWS 集群上的限制、预期和默认值。

9.1.2.4. 安全要求

  • 卷快照将保留在客户的 AWS 帐户和客户指定的区域内。
  • 红帽必须拥有对 EC2 主机和 API 服务器的入口访问权限,以及来自允许列表的 IP 地址的 API 服务器。
  • 红帽需要有一个出口,可以将系统和审计日志转发到红帽管理的中央日志记录环境中。

9.1.3. 所需的客户步骤

在 AWS (ROSA)上部署 Red Hat OpenShift Service 前完成以下步骤。

流程

  1. 如果您作为客户,使用的是 AWS 机构,那么您必须在组织内使用 AWS 帐户或 创建一个新 机构。
  2. 为确保红帽可以执行必要的操作,您必须创建服务控制策略(SCP),或者确保不会应用到 AWS 帐户。
  3. 将 SCP 附加到 AWS 帐户。
  4. 按照设置环境的 ROSA 步骤进行操作。

9.1.3.1. 最低服务控制策略(SCP)

服务控制策略 (SCP) 管理由客户自己负责。这些策略在 AWS 机构中维护,并控制附加的 AWS 帐户内有哪些服务。

注意

使用 AWS 安全令牌服务(STS)时,最小 SCP 要求不应用。有关 STS 的更多信息,请参阅使用 STS 的 ROSA AWS 的先决条件

 ServiceActions效果

必需

Amazon EC2

All

Allow

Amazon EC2 自动扩展

All

Allow

Amazon S3

All

Allow

身份和访问管理

All

Allow

弹性负载平衡

All

Allow

弹性负载平衡 V2

All

Allow

Amazon CloudWatch

All

Allow

Amazon CloudWatch Events

All

Allow

Amazon CloudWatch Logs

All

Allow

AWS Support

All

Allow

AWS 密钥管理服务

All

Allow

AWS 安全令牌服务

All

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "autoscaling:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "elasticloadbalancing:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "cloudwatch:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "events:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "logs:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "support:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "kms:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "sts:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "tag:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "route53:*"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "servicequotas:ListServices",
                "servicequotas:GetRequestedServiceQuotaChange",
                "servicequotas:GetServiceQuota",
                "servicequotas:RequestServiceQuotaIncrease",
                "servicequotas:ListServiceQuotas"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}

9.1.4. AWS 的 Red Hat managed IAM 参考

红帽负责创建和管理以下 Amazon Web Services (AWS)资源: IAM 策略、IAM 用户和 IAM 角色。

9.1.4.1. IAM 策略

注意

IAM 策略可能会作为 Red Hat OpenShift Service 在 AWS 上的修改功能进行修改。

  • AdministratorAccess 策略由管理角色使用。此策略提供了在客户 AWS 帐户中管理 Red Hat OpenShift Service on AWS (ROSA)集群所需的访问权限。

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Action": "*",
                "Resource": "*",
                "Effect": "Allow"
            }
        ]
    }

9.1.4.2. IAM 用户

在将 ROSA 安装到客户的 AWS 帐户后,会立即创建 osdManagedAdmin 用户。

9.1.5. 置备的 AWS Infrastructure

这是在部署的 Red Hat OpenShift Service on AWS (ROSA) 中置备的 Amazon Web Services (AWS) 组件的概述。有关所有置备的 AWS 组件的详情,请参阅 OpenShift Container Platform 文档

9.1.5.1. EC2 实例

在 AWS 公共云中部署 ROSA 的 control plane 和 data plane 功能需要 AWS EC2 实例。

实例类型可能因 control plane 和基础架构节点的不同,具体取决于 worker 节点数。至少部署以下 EC2 实例:

  • 三个 m5.2xlarge control plane 节点
  • 两个 r5.xlarge 基础架构节点
  • 两个 m5.xlarge 可自定义 worker 节点

有关 worker 节点数量的更多信息,请参阅本页"Additional resources"部分中列出的关于初始规划注意事项的信息。

9.1.5.2. AWS Elastic Block Store (EBS)存储

Amazon EBS 块存储用于本地节点存储和持久性卷存储。

每个 EC2 实例的卷要求:

  • Control Plane 卷

    • 大小:350GB
    • 类型: io1
    • 每秒输入/输出操作: 1000
  • 基础架构卷

    • 大小:300GB
    • type: gp2
    • Per input/Output Operations Per Second: 900
  • worker 卷

    • 大小:300GB
    • type: gp2
    • Per input/Output Operations Per Second: 900

9.1.5.3. Elastic 负载均衡器

最多两个 Network Elastic Load Balancers (ELBs) 用于 API, 最多两个 Classic ELBs 用于应用程序路由器。如需更多信息,请参阅 AWS 的 ELB 文档

9.1.5.4. S3 存储

镜像 registry 由 AWS S3 存储支持。定期执行修剪资源来优化 S3 使用和集群性能。

注意

两个存储桶需要每个大小为 2TB 的情况。

9.1.5.5. VPC

客户应该会看到每个集群的一个 VPC。另外,VPC 需要以下配置:

  • 子网 :一个具有单一可用区的集群的两个子网,或具有多个可用区的集群 6 个子网。
  • 路由表 :每个专用子网一个路由表,每个集群一个额外表。
  • 互联网网关 :每个集群一个互联网网关。
  • NAT 网关 :每个公共子网一个 NAT 网关。
9.1.5.5.1. VPC 架构示例
VPC 参考架构

9.1.5.6. 安全组

AWS 安全组在协议和端口访问级别提供安全;它们与 EC2 实例和弹性负载平衡器关联。每个安全组包含一组规则,这些规则过滤进出 EC2 实例的流量。您必须确保 OpenShift 安装所需的端口在网络上打开,并配置为允许主机间的访问。

类型IP 协议端口范围

MasterSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

tcp

6443

tcp

22623

WorkerSecurityGroup

AWS::EC2::SecurityGroup

icmp

0

tcp

22

BootstrapSecurityGroup

AWS::EC2::SecurityGroup

tcp

22

tcp

19531

9.1.7. 后续步骤

9.1.8. 其他资源

9.2. 了解 ROSA 部署工作流

在使用 AWS Security Token Service (STS) 的 AWS (ROSA) 集群上创建 Red Hat OpenShift Service 前,您必须先满足 AWS 的先决条件,验证所需的 AWS 服务配额是否可用,并设置您的环境。

本文档概述了带有 STS 部署工作流阶段的 ROSA,并指代每个阶段的详细资源。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.2.1. ROSA 部署工作流概述

您可以遵循本节中介绍的工作流阶段,在 AWS (ROSA)集群上设置和访问 Red Hat OpenShift Service。

  1. 执行 AWS 先决条件。要部署 ROSA 集群,您的 AWS 帐户必须满足先决条件。
  2. 查看所需的 AWS 服务配额。要准备集群部署,请查看运行 ROSA 集群的 AWS 服务配额。
  3. 配置 AWS 帐户。在创建 ROSA 集群前,您必须在 AWS 帐户中启用 ROSA,安装和配置 AWS CLI (aws)工具配置,并验证 AWS CLI 工具配置。
  4. 安装 ROSA 和 OpenShift CLI 工具并验证 AWS 服务配额。安装和配置 ROSA CLI (rosa)和 OpenShift CLI (oc)。您可以使用 ROSA CLI 验证所需的 AWS 资源配额是否可用。
  5. 创建 ROSA 集群 或使用 AWS PrivateLink 创建 ROSA 集群。使用 ROSA CLI (rosa)创建集群。您可以选择使用 AWS PrivateLink 创建 ROSA 集群。
  6. 访问集群。您可以配置身份提供程序,并根据需要为身份提供程序用户授予集群管理员特权。您还可以通过配置 cluster-admin 用户快速访问新部署的集群。
  7. 为用户 撤销对 ROSA 集群的访问。您可以使用 ROSA CLI 或 Web 控制台从用户撤销对 ROSA 集群的访问。
  8. 删除 ROSA 集群。您可以使用 ROSA CLI (rosa)删除 ROSA 集群。

9.2.2. 其他资源

9.3. 所需的 AWS 服务配额

查看此列表,其中列出了在 AWS 集群上运行 Red Hat OpenShift Service on AWS 集群所需的服务配额。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.3.1. 所需的 AWS 服务配额

下表描述了在 AWS 集群上创建并运行 Red Hat OpenShift Service 所需的 AWS 服务配额和级别。

注意

AWS SDK 允许 ROSA 检查配额,但 AWS SDK 计算不包括您现有的使用量。因此,配额检查可能会在 AWS SDK 中通过,但集群创建过程可能会失败。要解决这个问题,请提高配额。

如果您需要修改或增加特定配额,请参阅 Amazon 的文档,以请求 增加配额

配额名称服务代码配额代码最低要求值推荐的值

EIP 数量 - VPC EIP

ec2

L-0263D0A3

5

5

运行按需标准(A、C、D、H、I、M、R、T、Z)实例

ec2

L-1216C47A

100

100

每个区域的 VPCs

vpc

L-F678F1CE

5

5

每个区域的互联网网关

vpc

L-A4707A72

5

5

每个区域的网络接口

vpc

L-DF5E4CA3

5,000

5,000

通用目的 SSD (gp2)卷存储

ebs

L-D18FCD1D

50

300

EBS 快照数量

ebs

L-309BACF6

300

300

置备的 IOPS

ebs

L-B3A130E6

300,000

300,000

置备的 IOPS SSD (io1)卷存储

ebs

L-FD252861

50

300

每个区域的应用程序负载均衡器

elasticloadbalancing

L-53DA6B97

50

50

每个区域的经典负载平衡器

elasticloadbalancing

L-E9E9831D

20

20

9.3.2. 后续步骤

9.3.3. 其他资源

9.4. 配置 AWS 帐户

完成 AWS 先决条件后,配置 AWS 帐户并在 AWS (ROSA)服务中启用 Red Hat OpenShift Service。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.4.1. 配置 AWS 帐户

要将 AWS 帐户配置为使用 ROSA 服务,请完成以下步骤。

前提条件

  • 检查并完成部署先决条件和策略。
  • 如果还没有 红帽帐户,请创建一个红帽帐户。然后,检查电子邮件以获取验证链接。您将需要这些凭证来安装 ROSA。

流程

  1. 登录到您要使用的 Amazon Web Services (AWS)帐户。

    建议运行一个专用 AWS 帐户来运行生产环境集群。如果使用 AWS 机构,您可以使用机构中的 AWS 帐户 或创建新机构

    如果您使用 AWS 机构,且您需要有一个服务控制策略 (SCP) 应用于您计划使用的 AWS 帐户,请参阅 AWS 先决条件。

    作为集群创建过程的一部分,ros a 建立 osdCcsAdmin IAM 用户。此用户使用您在配置 AWS CLI 时提供的 IAM 凭证。

    注意

    此用户启用了 Programmatic 访问权限,并附加了 AdministratorAccess 策略。

  2. 在 AWS 控制台中启用 ROSA 服务。

    1. 登录您的 AWS 帐户
    2. 要启用 ROSA,请转至 ROSA 服务 并选择 启用 OpenShift
  3. 安装和配置 AWS CLI。

    1. 按照 AWS 命令行界面文档为您的操作系统 安装配置 AWS CLI。

      .aws/credentials 文件中指定正确的 aws_access_key_idaws_secret_access_key。请参阅 AWS 文档中的 AWS 配置基础知识

    2. 设置默认 AWS 区域。

      注意

      建议使用环境变量来设置默认的 AWS 区域。

      ROSA 服务按以下优先级顺序评估区域:

      1. 使用 --region 标志运行 rosa 命令时指定的区域。
      2. AWS_DEFAULT_REGION 环境变量中设置的区域。请参阅 AWS 文档中的配置 AWS CLI 的环境变量
      3. AWS 配置文件中设定的默认地区。请参阅 AWS 文档中的使用 aws 配置 快速配置。
    3. 可选:使用名为 profile 的 AWS 配置 AWS CLI 设置和凭证。ROSA 按以下优先级顺序评估 AWS 指定配置集:

      1. 使用 --profile 标志运行 rosa 命令时指定的配置集。
      2. AWS_PROFILE 环境变量中设置的配置集。请参阅 AWS 文档中的 Named 配置集
    4. 运行以下命令查询 AWS API 来验证 AWS CLI 是否已正确安装和配置:

      $ aws sts get-caller-identity

      输出示例

      ---------------------------------------------------------------------------------
      |                                GetCallerIdentity                              |
      +-------------------------------------------------------------------------------+
      |+-----------------------------------+-----------------------+-----------------+|
      ||      Account        |                Arn              |       UserID        ||
      |+-----------------------------------+-----------------------+-----------------+|
      ||  <account_name>     |  arn:aws:iam<string>:user:name  |      <userID>       ||
      |+-----------------------------------+-----------------------+-----------------+|

      完成这些步骤后,安装 ROSA。

9.4.2. 后续步骤

9.4.3. 其他资源

9.5. 安装 ROSA CLI

配置 AWS 帐户后,安装并配置 ROSA CLI (rosa)。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.5.1. 安装和配置 ROSA CLI

安装和配置 ROSA CLI (rosa)。您还可以安装 OpenShift CLI (oc),并使用 ROSA CLI 验证所需的 AWS 资源配额是否可用。

前提条件

  • 检查并完成 AWS 的先决条件和 ROSA 策略。
  • 如果还没有 红帽帐户,请创建一个红帽帐户。然后,检查电子邮件以获取验证链接。您将需要这些凭证来安装 ROSA。
  • 配置 AWS 帐户并在 AWS 帐户中启用 ROSA 服务。

流程

  1. 安装 rosa,Red Hat OpenShift Service on AWS 的命令行接口 (CLI)。

    1. 为您的操作系统下载 rosa CLI 的最新版本
    2. 可选:将您下载的可执行文件命名为 rosa。本文档使用 rosa 参考可执行文件。
    3. 可选:为您的路径添加 rosa

      示例

      $ mv rosa /usr/local/bin/rosa

    4. 输入以下命令验证安装:

      $ rosa

      输出示例

      Command line tool for ROSA.
      
      Usage:
        rosa [command]
      
      Available Commands:
        completion  Generates bash completion scripts
        create      Create a resource from stdin
        delete      Delete a specific resource
        describe    Show details of a specific resource
        edit        Edit a specific resource
        help        Help about any command
        init        Applies templates to support Managed OpenShift on AWS clusters
        list        List all resources of a specific type
        login       Log in to your Red Hat account
        logout      Log out
        logs        Show logs of a specific resource
        verify      Verify resources are configured correctly for cluster install
        version     Prints the version of the tool
      
      Flags:
            --debug     Enable debug mode.
        -h, --help      help for rosa
        -v, --v Level   log level for V logs
      
      Use "rosa [command] --help" for more information about a command.

    5. 可选:为 rosa CLI 生成命令完成脚本。以下示例为 Linux 机器生成 Bash 完成脚本:

      $ rosa completion bash | sudo tee /etc/bash_completion.d/rosa
    6. 可选:从现有终端启用 rosa 命令完成。以下示例在 Linux 机器上的现有终端中启用 rosa 的 Bash 完成:

      $ source /etc/bash_completion.d/rosa
  2. 使用 rosa 登录您的红帽帐户。

    1. 输入以下命令。

      $ rosa login
    2. <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>

      输出继续示例

      I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com'

  3. 输入以下命令验证您的 AWS 帐户是否有必要权限。

    $ rosa verify permissions

    输出示例

    I: Validating SCP policies...
    I: AWS SCP policies ok

    注意

    此命令只验证不使用 AWS 安全令牌服务(STS)的 ROSA 集群的权限。

  4. 验证您的 AWS 帐户是否具有在 AWS 集群上部署 Red Hat OpenShift Service 所需的配额。

    $ rosa verify quota --region=us-west-2

    输出示例

    I: Validating AWS quota...
    I: AWS quota ok

    注意

    有时,您的 AWS 配额因区域而异。如果收到任何错误,请尝试其他区域。

    如果需要提高配额,进入 AWS 控制台,并为失败的服务请求配额增加。

    在权限和配额检查通过后,继续下一步。

  5. 为集群部署准备 AWS 帐户:

    1. 运行以下命令验证您的红帽和 AWS 凭证是否已正确设置。检查您的 AWS 帐户 ID、默认区域和 ARN 是否与预期的内容匹配。现在,您可以安全地忽略以 OCM 开头的行。

      $ rosa whoami

      输出示例

      AWS Account ID:               000000000000
      AWS Default Region:           us-east-2
      AWS ARN:                      arn:aws:iam::000000000000:user/hello
      OCM API:                      https://api.openshift.com
      OCM Account ID:               1DzGIdIhqEWyt8UUXQhSoWaaaaa
      OCM Account Name:             Your Name
      OCM Account Username:         you@domain.com
      OCM Account Email:            you@domain.com
      OCM Organization ID:          1HopHfA2hcmhup5gCr2uH5aaaaa
      OCM Organization Name:        Red Hat
      OCM Organization External ID: 0000000

    2. 初始化 AWS 帐户。此步骤运行 CloudFormation 模板,用于准备用于集群部署和管理的 AWS 帐户。此步骤通常需要 1-2 分钟才能完成。

      $ rosa init

      输出示例

      I: Logged in as 'rh-rosa-user' on 'https://api.openshift.com'
      I: Validating AWS credentials...
      I: AWS credentials are valid!
      I: Validating SCP policies...
      I: AWS SCP policies ok
      I: Validating AWS quota...
      I: AWS quota ok
      I: Ensuring cluster administrator user 'osdCcsAdmin'...
      I: Admin user 'osdCcsAdmin' created successfully!
      I: Verifying whether OpenShift command-line tool is available...
      E: OpenShift command-line tool is not installed.
      Run 'rosa download oc' to download the latest version, then add it to your PATH.

  6. rosa CLI 安装 OpenShift CLI (oc)。

    1. 输入以下命令下载 oc CLI 的最新版本:

      $ rosa download oc
    2. 下载 oc CLI 后,将其解压缩并将其添加到您的路径中。
    3. 输入此命令来验证是否已正确安装了 oc CLI:

      $ rosa verify oc

安装 ROSA 后,就可以创建集群。

9.5.2. 后续步骤

9.5.3. 其他资源

9.6. 创建没有 AWS STS 的 ROSA 集群

设置环境并在 AWS (ROSA)上安装 Red Hat OpenShift Service 后,创建集群。

本文档论述了如何设置 ROSA 集群。另外,您可以使用 AWS PrivateLink 创建 ROSA 集群。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.6.1. 创建集群

您可以使用 rosa CLI 在 AWS 集群上创建 Red Hat OpenShift Service。

前提条件

您已在 AWS 上安装了 Red Hat OpenShift Service。

注意

目前,安装 ROSA 不支持 AWS Shared VPC

流程

  1. 您可以使用默认设置或使用互动模式指定自定义设置来创建集群。要在创建集群时查看其他选项,请输入 rosa create cluster --help

    创建集群最多可能需要 40 分钟。

    注意

    对于生产工作负载,推荐使用多个可用区(AZ)。默认值为单个可用区。使用 --help 来手动设置这个选项,或使用互动模式进行此设置。

    • 使用默认集群设置创建集群:

      $ rosa create cluster --cluster-name=<cluster_name>

      输出示例

      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`.

    • 使用互动提示创建集群:

      $ rosa create cluster --interactive
    • 要配置网络 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
  2. 输入以下命令检查集群的状态。在集群创建过程中,输出中的 State 字段将从 Pending 转换为 安装,最后变为 ready

    $ rosa describe cluster --cluster=<cluster_name>

    输出示例

    Name: rh-rosa-test-cluster1
    OpenShift Version: 4.6.8
    DNS: *.example.com
    ID: uniqueidnumber
    External ID: uniqueexternalidnumber
    AWS Account: 123456789101
    API URL: https://api.rh-rosa-test-cluster1.example.org:6443
    Console URL: https://console-openshift-console.apps.rh-rosa-test-cluster1.example.or
    Nodes: Master: 3, Infra: 2, Compute: 2
    Region: us-west-2
    Multi-AZ: false
    State: ready
    Channel Group: stable
    Private: No
    Created: Jan 15 2021 16:30:55 UTC
    Details Page: https://console.redhat.com/examplename/details/idnumber

    注意

    如果安装失败或者 State 字段在 40 分钟后没有变为 ready,请检查安装故障排除文档以了解更多详细信息。

  3. 通过观察 OpenShift 安装程序日志来跟踪集群创建的进度:

    $ rosa logs install --cluster=<cluster_name> --watch

9.6.2. 后续步骤

配置身份提供程序

9.6.3. 其他资源

9.7. 配置私有集群

AWS 集群上的 Red Hat OpenShift Service 可以进行私有,以便内部应用程序可以托管在公司网络中。另外,可以将私有集群配置为仅具有内部 API 端点来提高安全性。

可在集群创建期间或建立集群后配置隐私设置。

9.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
注意

或者,为每个集群选项提示 --interactive

9.7.2. 在现有集群中启用私有集群

创建集群后,您可以将集群启用为私有。

重要

私有集群不能与 AWS 安全令牌服务(STS)搭配使用。但是 STS 支持 AWS PrivateLink 集群。

前提条件

AWS VPC Peering、VPN、DirectConnect 或 TransitGateway 被配置为允许私有访问。

流程

输入以下命令在现有集群中启用 --private 选项。

$ rosa edit cluster --cluster-name=<cluster_name> --private
注意

在私有和公共间迁移集群可能需要几分钟来完成。

9.7.3. 其他资源

9.8. 删除对 ROSA 集群的访问

使用 rosa 命令行删除对 AWS (ROSA)集群中的 Red Hat OpenShift Service 的访问权限。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.8.1. 使用 rosa CLI 撤销 专用管理员访问权限

如果您是创建集群、机构管理员用户或超级用户的用户,您可以撤销 dedicated-admin 用户的访问权限。

前提条件

  • 您已在集群中添加了身份提供程序(IDP)。
  • 您有 IDP 用户名,用于撤销其权限的用户。
  • 已登陆到集群。

流程

  1. 输入以下命令撤销用户的 dedicated-admin 访问权限:

    $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
  2. 输入以下命令验证您的用户是否不再有 dedicated-admin 访问权限。输出不会列出已撤销的用户。

    $ oc get groups dedicated-admins

9.8.2. 使用 rosa CLI 撤销 cluster-admin 访问

只有创建集群的用户才能撤销 cluster-admin 用户的访问权限。

前提条件

  • 您已在集群中添加了身份提供程序(IDP)。
  • 您有 IDP 用户名,用于撤销其权限的用户。
  • 已登陆到集群。

流程

  1. 输入以下命令撤销用户的 cluster-admin 访问:

    $ rosa revoke user cluster-admins --user=myusername --cluster=mycluster
  2. 输入以下命令验证用户是否不再具有 cluster-admin 访问权限。输出不会列出已撤销的用户。

    $ oc get groups cluster-admins

9.9. 删除 ROSA 集群

使用 rosa 命令行删除 AWS (ROSA)集群中的 Red Hat OpenShift Service。

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.9.1. 前提条件

  • 如果 Red Hat OpenShift Service on AWS 创建了一个 VPC,则必须从集群中删除以下项目,然后才能成功删除集群:

    • 网络配置,如 VPN 配置和 VPC 对等连接
    • 任何添加到 VPC 中的额外服务

如果这些配置和服务保留,集群不会正确删除。

9.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 资源前完成,因为集群删除和清理过程会用到这些资源。

如果安装了附加组件,集群删除需要更长的时间,因为在删除集群前卸载附加组件。时间的数量取决于附加组件的数量和大小。

前提条件

  • 已安装 ROSA 集群。
  • 您已在安装主机上安装和配置了最新的 ROSA CLI (rosa)。

流程

  1. 获取集群 ID、特定于集群 Operator 角色的 Amazon 资源名称 (ARN) 和 OIDC 供应商的端点 URL:

    $ rosa describe cluster --cluster=<cluster_name> 1
    1
    <cluster_name> 替换为集群的名称。

    输出示例

    Name:                       mycluster
    ID:                         1s3v4x39lhs8sm49m90mi0822o34544a 1
    ...
    Operator IAM Roles: 2
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-credential-operator-cloud-crede
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-image-registry-installer-cloud-creden
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-ingress-operator-cloud-credentials
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cluster-csi-drivers-ebs-cloud-credent
     - arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-cloud-network-config-controller-cloud
    State:                      ready
    Private:                    No
    Created:                    May 13 2022 11:26:15 UTC
    Details Page:               https://console.redhat.com/openshift/details/s/296kyEFwzoy1CREQicFRdZybrc0
    OIDC Endpoint URL:          https://rh-oidc.s3.us-east-1.amazonaws.com/1s5v4k39lhm8sm59m90mi0822o31844a 3

    1
    列出集群 ID。
    2
    指定特定于集群 Operator 角色的 ARN。例如,在示例输出中,Machine Config Operator 所需的角色的 ARN 是 arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials
    3
    指定特定于集群的 OIDC 供应商的端点 URL。
    重要

    在删除集群后,您需要使用 ROSA CLI (rosa)删除特定于集群的 STS 资源。

  2. 删除集群:

    • 使用 Red Hat OpenShift Cluster Manager 删除集群:

      1. 导航到 OpenShift Cluster Manager Hybrid Cloud Console
      2. 点击集群 kebab 旁边的 Options 菜单并选择 Delete cluster
      3. 在提示符处键入集群名称并点 Delete
    • 使用 ROSA CLI (rosa)删除集群:

      1. 输入以下命令删除集群并观察日志,将 < cluster_name& gt; 替换为集群的名称或 ID:

        $ rosa delete cluster --cluster=<cluster_name> --watch
        重要

        在删除 Operator 角色和 OIDC 供应商前,您必须等待集群删除完成。需要特定于集群的 Operator 角色来清理 OpenShift Operator 创建的资源。Operator 使用 OIDC 供应商进行身份验证。

  3. 删除集群 Operator 用于身份验证的 OIDC 供应商:

    $ rosa delete oidc-provider -c <cluster_id> --mode auto 1
    1
    <cluster_id > 替换为集群的 ID。
    注意

    您可以使用 -y 选项,在提示符处自动回答 yes。

  4. 删除特定于集群的 Operator IAM 角色:

    $ rosa delete operator-roles -c <cluster_id> --mode auto 1
    1
    <cluster_id > 替换为集群的 ID。

9.10. 创建集群和用户的命令快速参考

提示

AWS 安全令牌服务(STS)是推荐的凭证模式,用于在 AWS (ROSA)上安装并与之交互,因为它提供了增强的安全性。

9.10.1. 命令快速参考列表

如果您已经创建了第一个集群和用户,这个列表可在创建其他集群和用户时作为命令快速引用列表。

## Configures your AWS account and ensures everything is setup correctly
$ rosa init

## Starts the cluster creation process (~30-40minutes)
$ rosa create cluster --cluster-name=<cluster_name>

## Connect your IDP to your cluster
$ rosa create idp --cluster=<cluster_name> --interactive

## Promotes a user from your IDP to dedicated-admin level
$ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>

## Checks if your install is ready (look for State: Ready),
## and provides your Console URL to login to the web console.
$ rosa describe cluster --cluster=<cluster_name>

9.10.2. 其他资源