×

如果您正在寻找 AWS 上 Red Hat OpenShift Service (ROSA) 的全面入门指南,请参阅 AWS 上 Red Hat OpenShift Service 的全面入门指南。有关 ROSA 安装的更多信息,请参阅 安装 Red Hat OpenShift Service on AWS (ROSA) 交互式演练

遵循本指南,您可以使用 Red Hat OpenShift 集群管理器在 Red Hat 混合云控制台 上快速创建一个 AWS 上的 Red Hat OpenShift Service (ROSA) 集群,授予用户访问权限,部署您的第一个应用程序,并了解如何撤销用户访问权限和删除您的集群。

本文档中的步骤使您可以创建使用 AWS 安全令牌服务 (STS) 的集群。有关将 AWS STS 与 ROSA 集群一起使用的更多信息,请参阅 使用 AWS 安全令牌服务

Red Hat OpenShift Service on AWS

先决条件

设置环境

在创建 AWS 上的 Red Hat OpenShift Service (ROSA) 集群之前,您必须通过完成以下任务来设置您的环境

  • 针对您的 AWS 和 Red Hat 帐户验证 ROSA 先决条件。

  • 安装和配置所需的命令行界面 (CLI) 工具。

  • 验证 CLI 工具的配置。

您可以按照本节中的步骤完成这些设置要求。

验证 ROSA 先决条件

使用此过程中的步骤在您的 AWS 帐户中启用 AWS 上的 Red Hat OpenShift Service (ROSA)。

先决条件
  • 您拥有一个 Red Hat 帐户。

  • 您拥有一个 AWS 帐户。

    考虑使用专用的 AWS 帐户来运行生产集群。如果您使用的是 AWS Organizations,则可以使用组织内的 AWS 帐户或 创建一个新的帐户

步骤
  1. 登录到 AWS 管理控制台

  2. 导航到 ROSA 服务

  3. 点击开始

    将打开验证 ROSA 先决条件页面。

  4. ROSA 启用下,确保显示绿色复选标记和您之前已启用 ROSA

    如果没有,请按照以下步骤操作

    1. 选中我同意与 Red Hat 分享我的联系信息旁边的复选框。

    2. 点击启用 ROSA

      短暂等待后,将显示绿色复选标记和您已启用 ROSA消息。

  5. 服务配额下,确保显示绿色复选标记和您的配额满足 ROSA 的要求

    如果您看到您的配额不满足最低要求,请记下错误消息中列出的配额类型和最小值。请参阅亚马逊关于 请求配额增加 的文档以获取指导。亚马逊可能需要数小时才能批准您的配额请求。

  6. ELB 服务关联角色下,确保显示绿色复选标记和AWSServiceRoleForElasticLoadBalancing 已存在

  7. 点击继续到 Red Hat

    开始使用 AWS 上的 Red Hat OpenShift Service (ROSA) 页面将在新标签页中打开。您已完成此页面上的步骤 1,现在可以继续执行步骤 2。

安装和配置所需的 CLI 工具

使用以下步骤在您的工作站上进行安装和配置。

步骤
  1. 安装和配置最新的 AWS CLI (aws)。

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

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

      您可以选择使用AWS_DEFAULT_REGION环境变量来设置默认 AWS 区域。

    2. 查询 AWS API 以验证 AWS CLI 是否已正确安装和配置

      $ aws sts get-caller-identity  --output text
      示例输出
      <aws_account_id>    arn:aws:iam::<aws_account_id>:user/<username>  <aws_user_id>
  2. 安装和配置最新的 ROSA CLI (rosa)。

    1. 从 Red Hat OpenShift 集群管理器混合云控制台的 下载 页面下载适用于您操作系统的最新版本的 ROSA CLI。

    2. 从下载的存档中提取rosa二进制文件。以下示例从 Linux tar 存档中提取二进制文件

      $ tar xvf rosa-linux.tar.gz
    3. rosa添加到您的路径。在以下示例中,用户的路径中包含/usr/local/bin目录

      $ sudo mv rosa /usr/local/bin/rosa
    4. 通过查询rosa版本来验证 ROSA CLI 是否已正确安装

      $ rosa version
      示例输出
      1.2.15
      Your ROSA CLI is up to date.
    5. 使用 ROSA CLI 登录您的 Red Hat 帐户

      $ rosa login
      示例输出
      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:

      转到命令输出中列出的 URL 以获取脱机访问令牌。在 CLI 提示符下指定令牌以登录。

      您可以随后使用--token="<offline_access_token>"参数在运行rosa login命令时指定脱机访问令牌。

    6. 验证您是否已成功登录并检查您的凭据

      $ rosa whoami
      示例输出
      AWS Account ID:               <aws_account_number>
      AWS Default Region:           us-east-1
      AWS ARN:                      arn:aws:iam::<aws_account_number>:user/<aws_user_name>
      OCM API:                      https://api.openshift.com
      OCM Account ID:               <red_hat_account_id>
      OCM Account Name:             Your Name
      OCM Account Username:         [email protected]
      OCM Account Email:            [email protected]
      OCM Organization ID:          <org_id>
      OCM Organization Name:        Your organization
      OCM Organization External ID: <external_org_id>

      在继续之前,请检查输出中的信息是否正确。

使用默认自动模式通过 AWS STS 创建 ROSA 集群

Red Hat OpenShift 集群管理器是 Red Hat 混合云控制台 上的一项托管服务,您可以使用它来安装、修改、操作和升级您的 Red Hat OpenShift 集群。此服务允许您通过单个仪表板管理组织内的所有集群。本文档中的步骤使用 OpenShift 集群管理器中的auto模式,以立即使用当前 AWS 账户创建所需的 Identity and Access Management (IAM) 资源。所需资源包括帐户范围的 IAM 角色和策略、集群特定的 Operator 角色和策略以及 OpenID Connect (OIDC) 身份提供程序。

当使用 OpenShift 集群管理器混合云控制台创建使用 STS 的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群时,您可以选择默认选项来快速创建集群。

在您可以使用 OpenShift 集群管理器混合云控制台部署使用 STS 的 ROSA 集群之前,必须将您的 AWS 账户与您的 Red Hat 组织关联,并创建所需的帐户范围 STS 角色和策略。

默认集群规范概述

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

表 1. 使用 STS 的默认 ROSA 集群规范
组件 默认规范

账户和角色

  • 默认 IAM 角色前缀:ManagedOpenShift

  • 未创建集群管理员角色

集群设置

  • 默认集群版本:最新版本

  • 使用 Red Hat OpenShift 集群管理器混合云控制台安装的默认 AWS 区域:us-east-1(美国东部,北弗吉尼亚州)

  • 可用性:数据平面单区域

  • 启用了 EC2 实例元数据服务 (IMDS),并允许使用 IMDSv1 或 IMDSv2(可选令牌)

  • 用户定义项目的监控:已启用

加密

  • 云存储在静态时加密

  • 未启用额外的 etcd 加密

  • 默认的 AWS 密钥管理服务 (KMS) 密钥用作持久数据的加密密钥

控制平面节点配置

  • 控制平面节点实例类型:m5.2xlarge(8 个 vCPU,32 GiB RAM)

  • 控制平面节点数量:3

基础设施节点配置

  • 基础设施节点实例类型:r5.xlarge(4 个 vCPU,32 GiB RAM)

  • 基础设施节点数量:2

计算节点机器池

  • 计算节点实例类型:m5.xlarge(4 个 vCPU,16 GiB RAM)

  • 计算节点数量:2

  • 自动缩放:未启用

  • 无其他节点标签

网络配置

  • 集群隐私:公共

  • 您必须已配置您自己的虚拟私有云 (VPC)

  • 未配置集群范围代理

无类域间路由 (CIDR) 范围

  • 机器 CIDR:10.0.0.0/16

  • 服务 CIDR:172.30.0.0/16

  • Pod CIDR:10.128.0.0/16

  • 主机前缀:/23

集群角色和策略

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

    对于在混合云控制台上使用 OpenShift 集群管理器的安装,auto模式需要一个具有管理员权限的 OpenShift 集群管理器角色。

  • 默认 Operator 角色前缀:<集群名称>-<4位随机字符串>

集群更新策略

  • 单独更新

  • 节点移除的宽限期为 1 小时

了解 AWS 账户关联

在您可以使用 Red Hat 混合云控制台 上的 Red Hat OpenShift 集群管理器创建使用 AWS 安全令牌服务 (STS) 的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群之前,必须将您的 AWS 账户与您的 Red Hat 组织关联。您可以通过创建和链接以下 IAM 角色来关联您的账户。

OpenShift 集群管理器角色

创建一个 OpenShift 集群管理器 IAM 角色并将其链接到您的 Red Hat 组织。

您可以将基本权限或管理权限应用于 OpenShift 集群管理器角色。基本权限允许使用 OpenShift 集群管理器进行集群维护。管理权限允许使用 OpenShift 集群管理器自动部署集群特定的 Operator 角色和 OpenID Connect (OIDC) 提供程序。

用户角色

创建一个用户 IAM 角色并将其链接到您的 Red Hat 用户帐户。Red Hat 用户帐户必须存在于已链接到您的 OpenShift 集群管理器角色的 Red Hat 组织中。

当您使用 OpenShift 集群管理器混合云控制台安装集群和所需的 STS 资源时,Red Hat 将使用用户角色来验证您的 AWS 身份。

将您的 AWS 账户与您的 Red Hat 组织关联

在使用 Red Hat 混合云控制台 上的 Red Hat OpenShift 集群管理器创建使用 AWS 安全令牌服务 (STS) 的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群之前,请创建一个 OpenShift 集群管理器 IAM 角色并将其链接到您的 Red Hat 组织。然后,创建一个用户 IAM 角色并将其链接到同一 Red Hat 组织中的 Red Hat 用户帐户。

步骤
  1. 创建一个 OpenShift 集群管理器角色并将其链接到您的 Red Hat 组织

    要启用使用 OpenShift 集群管理器混合云控制台自动部署集群特定的 Operator 角色和 OpenID Connect (OIDC) 提供程序,您必须通过在创建 ROSA 集群的“账户和角色”步骤中选择“Admin OCM 角色”命令来为该角色授予管理权限。有关 OpenShift 集群管理器角色的基本权限和管理权限的更多信息,请参阅“了解 AWS 账户关联”。

    如果您在 OpenShift 集群管理器混合云控制台中创建 ROSA 集群的“账户和角色”步骤中选择“基本 OCM 角色”命令,则必须使用手动模式部署 ROSA 集群。您将在后续步骤中被提示配置集群特定的 Operator 角色和 OpenID Connect (OIDC) 提供程序。

    $ rosa create ocm-role

    在提示符处选择默认值以快速创建和链接角色。

  2. 创建一个用户角色并将其链接到您的 Red Hat 用户帐户

    $ rosa create user-role

    在提示符处选择默认值以快速创建和链接角色。

    Red Hat 用户帐户必须存在于已链接到您的 OpenShift 集群管理器角色的 Red Hat 组织中。

创建帐户范围的 STS 角色和策略

在使用 Red Hat OpenShift 集群管理器混合云控制台创建使用 AWS 安全令牌服务 (STS) 的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群之前,请创建所需的帐户范围 STS 角色和策略,包括 Operator 策略。

步骤
  1. 如果您的 AWS 账户中不存在这些角色和策略,请创建所需的帐户范围 STS 角色和策略。

    $ rosa create account-roles

    在提示符处选择默认值以快速创建角色和策略。

使用 OpenShift 集群管理器创建具有默认选项的集群

当使用 Red Hat 混合云控制台 上的 Red Hat OpenShift 集群管理器创建使用 AWS 安全令牌服务 (STS) 的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群时,您可以选择默认选项来快速创建集群。您还可以使用管理员 OpenShift 集群管理器 IAM 角色来启用集群特定的 Operator 角色和 OpenID Connect (OIDC) 提供程序的自动部署。

步骤
  1. 导航到 OpenShift 集群管理器 并选择“创建集群”。

  2. 在“创建 OpenShift 集群”页面上,在“AWS 上的 Red Hat OpenShift 服务 (ROSA)”行中选择“创建集群”。

  3. 验证您的 AWS 账户 ID 是否列在关联的 AWS 账户下拉菜单中,以及安装程序、支持、工作程序和控制平面账户角色 Amazon 资源名称 (ARN) 是否列在账户和角色页面上。

    如果您的 AWS 账户 ID 未列出,请检查您是否已成功将您的 AWS 账户与您的 Red Hat 组织关联。如果您的账户角色 ARN 未列出,请检查您的 AWS 账户中是否存在所需的账户范围 STS 角色。

  4. 点击下一步

  5. 集群详细信息页面上,在集群名称字段中为您的集群提供一个名称。保留其余字段中的默认值,然后单击下一步

    集群创建会在openshiftapps.com上为您的已配置集群生成一个子域作为域名前缀。如果集群名称小于或等于 15 个字符,则该名称将用作域名前缀。如果集群名称超过 15 个字符,则域名前缀将随机生成一个 15 个字符的字符串。要自定义子域,请选中创建自定义域名前缀复选框,并在域名前缀字段中输入您的域名前缀名称。

  6. 要快速部署集群,请保留集群设置网络集群角色和策略以及集群更新页面中的默认选项,并在每个页面上单击下一步

  7. 查看您的 ROSA 集群页面上,查看您选择的摘要,然后单击创建集群以启动安装。

  8. 可选:在概述选项卡上,您可以通过选择启用(位于删除保护:已禁用正下方)来启用删除保护功能。这将防止您的集群被删除。要禁用删除保护,请选择禁用。默认情况下,集群在创建时会禁用删除保护功能。

    验证
    • 您可以在集群的概述页面中检查安装进度。您可以在同一页面上查看安装日志。当页面详细信息部分中的状态显示为就绪时,您的集群就已准备就绪。

      如果安装失败或集群状态在大约 40 分钟后未更改为就绪,请检查安装故障排除文档以了解详细信息。有关更多信息,请参阅安装故障排除。有关联系 Red Hat 支持寻求帮助的步骤,请参阅获取 AWS 上 Red Hat OpenShift 服务的支持

创建集群管理员用户以快速访问集群

在配置身份提供程序之前,您可以创建一个具有cluster-admin权限的用户,以便立即访问您的 AWS 上 Red Hat OpenShift 服务 (ROSA) 集群。

当您需要快速访问新部署的集群时,集群管理员用户非常有用。但是,请考虑根据需要配置身份提供程序并将集群管理员权限授予身份提供程序用户。有关为您的 ROSA 集群设置身份提供程序的更多信息,请参阅配置身份提供程序和授予集群访问权限

步骤
  1. 创建集群管理员用户

    $ rosa create admin --cluster=<cluster_name> (1)
    1 <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>'.
    I: Please securely store this generated password. If you lose this password you can delete and recreate the cluster admin user.
    I: To login, run the following command:
    
       oc login https://api.example-cluster.wxyz.p1.openshiftapps.com:6443 --username cluster-admin --password d7Rca-Ba4jy-YeXhs-WU42J
    
    I: It may take up to a minute for the account to become active.

    cluster-admin用户可能需要大约一分钟才能激活。

其他资源

配置身份提供程序和授予集群访问权限

AWS 上的 Red Hat OpenShift 服务 (ROSA) 包含一个内置的 OAuth 服务器。创建 ROSA 集群后,您必须配置 OAuth 以使用身份提供程序。然后,您可以将成员添加到已配置的身份提供程序中,以授予他们对集群的访问权限。

您还可以根据需要向身份提供程序用户授予cluster-admindedicated-admin权限。

配置身份提供程序

您可以为您的 AWS 上 Red Hat OpenShift 服务 (ROSA) 集群配置不同类型的身份提供程序。支持的类型包括 GitHub、GitHub Enterprise、GitLab、Google、LDAP、OpenID Connect 和 htpasswd 身份提供程序。

仅包含 htpasswd 身份提供程序选项是为了启用创建单个静态管理员用户。htpasswd 不支持作为 AWS 上 Red Hat OpenShift 服务的通用身份提供程序。

以下过程以 GitHub 身份提供程序为例进行配置。

步骤
  1. 访问github.com并登录您的 GitHub 账户。

  2. 如果您没有现有的 GitHub 组织可用于为您的 ROSA 集群进行身份配置,请创建一个。请按照GitHub 文档中的步骤操作。

  3. 为您的集群配置一个 GitHub 身份提供程序,该提供程序仅限于您的 GitHub 组织的成员。

    1. 使用交互模式配置身份提供程序

      $ rosa create idp --cluster=<cluster_name> --interactive (1)
      1 <cluster_name>替换为您的集群名称。
      示例输出
      I: Interactive mode enabled.
      Any optional fields can be left empty and a default will be selected.
      ? Type of identity provider: github
      ? Identity provider name: github-1
      ? Restrict to members of: organizations
      ? GitHub organizations: <github_org_name> (1)
      ? To use GitHub as an identity provider, you must first register the application:
        - Open the following URL:
          https://github.com/organizations/<github_org_name>/settings/applications/new?oauth_application%5Bcallback_url%5D=https%3A%2F%2Foauth-openshift.apps.<cluster_name>/<random_string>.p1.openshiftapps.com%2Foauth2callback%2Fgithub-1&oauth_application%5Bname%5D=<cluster_name>&oauth_application%5Burl%5D=https%3A%2F%2Fconsole-openshift-console.apps.<cluster_name>/<random_string>.p1.openshiftapps.com
        - Click on 'Register application'
      ...
      1 <github_org_name>替换为您的 GitHub 组织名称。
    2. 按照输出中的 URL 并选择注册应用程序以在您的 GitHub 组织中注册新的 OAuth 应用程序。通过注册应用程序,您可以启用内置于 ROSA 中的 OAuth 服务器,以将您的 GitHub 组织成员身份验证到您的集群。

      注册新的 OAuth 应用程序 GitHub 表单中的字段将通过 ROSA CLI 定义的 URL 自动填充所需的值。

    3. 使用 GitHub OAuth 应用程序页面中的信息来填充其余的rosa create idp交互式提示。

      续例输出
      ...
      ? Client ID: <github_client_id> (1)
      ? Client Secret: [? for help] <github_client_secret> (2)
      ? GitHub Enterprise Hostname (optional):
      ? Mapping method: claim (3)
      I: Configuring IDP for cluster '<cluster_name>'
      I: Identity Provider 'github-1' has been created.
         It will take up to 1 minute for this configuration to be enabled.
         To add cluster administrators, see 'rosa grant user --help'.
         To login into the console, open https://console-openshift-console.apps.<cluster_name>.<random_string>.p1.openshiftapps.com and click on github-1.
      1 <github_client_id>替换为您的 GitHub OAuth 应用程序的客户端 ID。
      2 <github_client_secret>替换为您的 GitHub OAuth 应用程序的客户端密钥。
      3 指定claim作为映射方法。

      身份提供程序配置可能需要大约两分钟才能激活。如果您已配置cluster-admin用户,则可以通过运行oc get pods -n openshift-authentication --watch来监视 OAuth pod 使用更新的配置重新部署。

    4. 输入以下命令以验证身份提供程序是否已正确配置

      $ rosa list idps --cluster=<cluster_name>
      示例输出
      NAME        TYPE      AUTH URL
      github-1    GitHub    https://oauth-openshift.apps.<cluster_name>.<random_string>.p1.openshiftapps.com/oauth2callback/github-1
其他资源

授予用户对集群的访问权限

您可以通过将用户添加到已配置的身份提供程序中,来授予用户对您的 AWS 上 Red Hat OpenShift 服务 (ROSA) 集群的访问权限。

您可以为您的 ROSA 集群配置不同类型的身份提供程序。以下示例过程将用户添加到配置为向集群提供身份的 GitHub 组织。

步骤
  1. 导航到 github.com 并登录到您的 GitHub 帐户。

  2. 邀请需要访问 ROSA 集群的用户加入您的 GitHub 组织。请按照 GitHub 文档中 邀请用户加入您的组织 中的步骤操作。

授予管理员权限

将用户添加到您配置的身份提供程序后,您可以为您的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群授予用户 `cluster-admin` 或 `dedicated-admin` 权限。

步骤
  • 为身份提供程序用户配置 `cluster-admin` 权限

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

      $ rosa grant user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> (1)
      1 将 `<idp_user_name>` 和 `<cluster_name>` 替换为身份提供程序用户名和您的集群名称。
      示例输出
      I: Granted role 'cluster-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
    2. 验证用户是否列在 `cluster-admins` 组中

      $ rosa list users --cluster=<cluster_name>
      示例输出
      ID                 GROUPS
      <idp_user_name>    cluster-admins
  • 为身份提供程序用户配置 `dedicated-admin` 权限

    1. 授予用户 `dedicated-admin` 权限

      $ rosa grant user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
      示例输出
      I: Granted role 'dedicated-admins' to user '<idp_user_name>' on cluster '<cluster_name>'
    2. 验证用户是否列在 `dedicated-admins` 组中

      $ rosa list users --cluster=<cluster_name>
      示例输出
      ID                 GROUPS
      <idp_user_name>    dedicated-admins

通过 Web 控制台访问集群

创建集群管理员用户或将用户添加到您配置的身份提供程序后,您可以通过 Web 控制台登录到您的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 集群。

步骤
  1. 获取集群的控制台 URL

    $ rosa describe cluster -c <cluster_name> | grep Console (1)
    1 <cluster_name>替换为您的集群名称。
    示例输出
    Console URL:                https://console-openshift-console.apps.example-cluster.wxyz.p1.openshiftapps.com
  2. 转到上一步输出中的控制台 URL 并登录。

    • 如果您创建了 `cluster-admin` 用户,请使用提供的凭据登录。

    • 如果您为集群配置了身份提供程序,请选择**使用…登录**对话框中的身份提供程序名称,并完成您的提供程序提出的任何授权请求。

从开发者目录部署应用程序

从 AWS 上的 Red Hat OpenShift 服务 Web 控制台,您可以从开发者目录部署测试应用程序并使用路由公开它。

先决条件
  • 您已登录到 Red Hat Hybrid Cloud 控制台

  • 您已创建了一个 AWS 上的 Red Hat OpenShift 服务集群。

  • 您已为集群配置了一个身份提供程序。

  • 您已将您的用户帐户添加到配置的身份提供程序。

步骤
  1. OpenShift 集群管理器 中转到**集群列表**页面。

  2. 单击要查看的集群旁边的选项图标 (⋮)。

  3. 单击**打开控制台**。

  4. 您的集群控制台将在新的浏览器窗口中打开。使用您配置的身份提供程序凭据登录您的 Red Hat 帐户。

  5. 在**管理员**透视图中,选择**主页**→**项目**→**创建项目**。

  6. 输入项目的名称,并可选择添加**显示名称**和**描述**。

  7. 单击**创建**以创建项目。

  8. 切换到**开发者**透视图并选择**+添加**。验证所选的**项目**是您刚刚创建的项目。

  9. 在**开发者目录**对话框中,选择**所有服务**。

  10. 在**开发者目录**页面中,从菜单中选择**语言**→**JavaScript**。

  11. 单击**Node.js**,然后单击**创建**以打开**创建 Source-to-Image 应用程序**页面。

    您可能需要单击**清除所有过滤器**才能显示**Node.js**选项。

  12. 在**Git**部分中,单击**尝试示例**。

  13. 在**名称**字段中添加一个唯一名称。该值将用于命名关联的资源。

  14. 确认已选择**部署**和**创建路由**。

  15. 单击**创建**以部署应用程序。部署 pod 需要几分钟时间。

  16. 可选:通过选择您的**Node.js**应用程序并查看其侧边栏,检查**拓扑**窗格中 pod 的状态。您必须等待 `nodejs` 构建完成并且 `nodejs` pod 处于**运行中**状态才能继续。

  17. 部署完成后,单击应用程序的路由 URL,其格式类似于以下格式

    https://nodejs-<project>.<cluster_name>.<hash>.<region>.openshiftapps.com/

    浏览器中将打开一个新标签页,其中显示类似于以下内容的消息

    Welcome to your Node.js application on OpenShift
  18. 可选:删除应用程序并清理您创建的资源

    1. 在**管理员**透视图中,导航到**主页**→**项目**。

    2. 单击项目的动作菜单,然后选择**删除项目**。

撤销管理员权限和用户访问权限

您可以使用 AWS 上的 Red Hat OpenShift 服务 (ROSA) CLI,`rosa`,从用户撤销 `cluster-admin` 或 `dedicated-admin` 权限。

要撤销用户的集群访问权限,您必须将其从您配置的身份提供程序中删除。

请按照本节中的步骤撤销用户的管理员权限或集群访问权限。

撤销用户的管理员权限

请按照本节中的步骤从用户撤销 `cluster-admin` 或 `dedicated-admin` 权限。

步骤
  • 要从身份提供程序用户撤销 `cluster-admin` 权限

    1. 撤销 `cluster-admin` 权限

      $ rosa revoke user cluster-admin --user=<idp_user_name> --cluster=<cluster_name> (1)
      1 将 `<idp_user_name>` 和 `<cluster_name>` 替换为身份提供程序用户名和您的集群名称。
      示例输出
      ? Are you sure you want to revoke role cluster-admins from user <idp_user_name> in cluster <cluster_name>? Yes
      I: Revoked role 'cluster-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
    2. 验证用户未列在 `cluster-admins` 组中

      $ rosa list users --cluster=<cluster_name>
      示例输出
      W: There are no users configured for cluster '<cluster_name>'
  • 要从身份提供程序用户撤销 `dedicated-admin` 权限

    1. 撤销 `dedicated-admin` 权限

      $ rosa revoke user dedicated-admin --user=<idp_user_name> --cluster=<cluster_name>
      示例输出
      ? Are you sure you want to revoke role dedicated-admins from user <idp_user_name> in cluster <cluster_name>? Yes
      I: Revoked role 'dedicated-admins' from user '<idp_user_name>' on cluster '<cluster_name>'
    2. 验证用户未列在 `dedicated-admins` 组中

      $ rosa list users --cluster=<cluster_name>
      示例输出
      W: There are no users configured for cluster '<cluster_name>'

撤销用户对集群的访问权限

您可以通过将身份提供程序用户从您配置的身份提供程序中删除来撤销其对集群的访问权限。

您可以为您的 ROSA 集群配置不同类型的身份提供程序。以下示例过程将撤销为集群提供身份的 GitHub 组织成员的集群访问权限。

步骤
  1. 导航到 github.com 并登录到您的 GitHub 帐户。

  2. 将用户从您的 GitHub 组织中删除。请按照 GitHub 文档中 从您的组织中删除成员 中的步骤操作。

删除 ROSA 集群和 AWS STS 资源

您可以使用 Red Hat OpenShift Service on AWS (ROSA) 命令行界面 (CLI) `rosa` 删除使用 AWS 安全令牌服务 (STS) 的 ROSA 集群。您还可以使用 ROSA CLI 删除 AWS Identity and Access Management (IAM) 账户级角色、集群特定 Operator 角色和 OpenID Connect (OIDC) 提供程序。要删除账户级内联策略和 Operator 策略,您可以使用 AWS IAM 控制台。

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

步骤
  1. 删除集群并监视日志,将 `<cluster_name>` 替换为您的集群名称或 ID

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

    您必须等待集群删除完成才能删除 IAM 角色、策略和 OIDC 提供程序。删除安装程序创建的资源需要账户级角色。清理 OpenShift Operators 创建的资源需要集群特定 Operator 角色。Operators 使用 OIDC 提供程序进行身份验证。

  2. 删除集群 Operators 用于身份验证的 OIDC 提供程序

    $ rosa delete oidc-provider -c <cluster_id> --mode auto (1)
    1 将 `<cluster_id>` 替换为集群的 ID。

    您可以使用 `-y` 选项自动回答是。

  3. 删除集群特定的 Operator IAM 角色

    $ rosa delete operator-roles -c <cluster_id> --mode auto (1)
    1 将 `<cluster_id>` 替换为集群的 ID。
  4. 删除账户级角色

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

    $ rosa delete account-roles --prefix <prefix> --mode auto (1)
    1 您必须包含 `--<prefix>` 参数。将 `<prefix>` 替换为要删除的账户级角色的前缀。如果您在创建账户级角色时未指定自定义前缀,请指定默认前缀 `ManagedOpenShift`。
  5. 删除为使用 STS 的 ROSA 部署创建的账户级内联和 Operator IAM 策略

    1. 登录 AWS IAM 控制台

    2. 导航到 **访问管理** → **策略** 并选中其中一个账户级策略的复选框。

    3. 选中策略后,单击 **操作** → **删除** 以打开删除策略对话框。

    4. 输入策略名称以确认删除,然后选择 **删除** 以删除策略。

    5. 重复此步骤以删除集群的每个账户级内联和 Operator 策略。

其他资源