$ rosa describe cluster --cluster=<cluster_name> (1)
本文档提供删除使用 AWS 安全令牌服务 (STS) 的 AWS 上的 Red Hat OpenShift Service (ROSA) 集群的步骤。删除集群后,您还可以删除集群使用的 AWS Identity and Access Management (IAM) 资源。
如果 AWS 上的 Red Hat OpenShift Service 创建了 VPC,则在成功删除集群之前,必须先从集群中删除以下项目:
网络配置,例如 VPN 配置和 VPC 对等连接
添加到 VPC 的任何其他服务
如果这些配置和服务仍然存在,则集群无法正确删除。
您可以使用 ROSA CLI (rosa
) 或 Red Hat OpenShift 集群管理器删除使用 AWS 安全令牌服务 (STS) 的 AWS 上的 Red Hat OpenShift Service (ROSA) 集群。
删除集群后,您可以使用 ROSA CLI (rosa
) 清理 AWS 帐户中特定于集群的 Identity and Access Management (IAM) 资源。特定于集群的资源包括 Operator 角色和 OpenID Connect (OIDC) 提供程序。
必须在删除 IAM 资源之前完成集群删除,因为这些资源用于集群删除和清理过程。 |
如果安装了附加组件,则集群删除需要更长时间,因为在删除集群之前会卸载附加组件。所需时间取决于附加组件的数量和大小。
如果删除了在安装期间创建 VPC 的集群,则关联的安装程序创建的 VPC 也将被删除,这将导致所有使用相同 VPC 的集群都失败。此外,使用安装程序创建的资源的相同 |
您已安装 ROSA 集群。
您已在安装主机上安装并配置了最新的 ROSA CLI (rosa
)。
获取集群 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://oidc.op1.openshiftapps.com/<oidc_config_id> (3)
1 | 列出集群 ID。 |
2 | 指定特定于集群的 Operator 角色的 ARN。例如,在示例输出中,机器配置 Operator 所需的角色的 ARN 为arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials 。 |
3 | 显示特定于集群的 OIDC 提供程序的端点 URL。 |
删除集群后,您需要集群 ID 才能使用 ROSA CLI ( |
删除集群
要使用 Red Hat OpenShift 集群管理器删除集群
导航到OpenShift 集群管理器。
单击集群旁边的选项菜单并选择删除集群。
在提示符下键入集群名称,然后单击删除。
要使用 ROSA CLI (rosa
) 删除集群
输入以下命令以删除集群并监视日志,将<cluster_name>
替换为集群的名称或 ID
$ rosa delete cluster --cluster=<cluster_name> --watch
您必须等待集群删除完成才能删除 Operator 角色和 OIDC 提供程序。特定于集群的 Operator 角色是清理 OpenShift Operator 创建的资源所必需的。Operator 使用 OIDC 提供程序进行身份验证。 |
删除集群 Operator 用于身份验证的 OIDC 提供程序
$ rosa delete oidc-provider -c <cluster_id> --mode auto (1)
1 | 将<cluster_id> 替换为集群的 ID。 |
您可以使用 |
可选。删除特定于集群的 Operator IAM 角色
帐户范围的 IAM 角色可由同一 AWS 帐户中的其他 ROSA 集群使用。仅当其他集群不需要这些角色时才将其删除。 |
$ rosa delete operator-roles -c <cluster_id> --mode auto (1)
1 | 将<cluster_id> 替换为集群的 ID。 |
有关删除帐户范围的 IAM 角色和策略的步骤,请参阅删除帐户范围的 IAM 角色和策略。
有关删除 OpenShift 集群管理器和用户 IAM 角色的步骤,请参阅取消链接并删除 OpenShift 集群管理器和用户 IAM 角色。
删除所有依赖于帐户范围的 AWS Identity and Access Management (IAM) 资源的具有托管控制平面 (HCP) 集群的 AWS 上的 Red Hat OpenShift Service (ROSA) 后,您可以删除帐户范围的资源。
如果您不再需要使用 Red Hat OpenShift 集群管理器安装 ROSA 与 HCP 集群,您也可以删除 OpenShift 集群管理器和用户 IAM 角色。
同一 AWS 帐户中的其他具有 HCP 集群的 ROSA 可能会使用帐户范围的 IAM 角色和策略。仅当其他集群不需要这些资源时才将其删除。 如果您想使用 OpenShift 集群管理器在同一 AWS 帐户中安装、管理和删除其他 AWS 上的 Red Hat OpenShift Service 集群,则需要 OpenShift 集群管理器和用户 IAM 角色。仅当您不再需要使用 OpenShift 集群管理器在您的帐户中安装 AWS 上的 Red Hat OpenShift Service 集群时,才删除这些角色。有关在删除之前删除这些角色时修复集群的更多信息,请参阅《故障排除集群部署》中的“修复无法删除的集群”。 |
本节提供删除为使用 STS 的 ROSA 和 HCP 部署创建的帐户级 IAM 角色和策略以及帐户级 Operator 策略的步骤。只有在删除所有依赖它们的 AWS 上的 Red Hat OpenShift 服务 (ROSA) 与 AWS 安全令牌服务 (STS) ROSA 与 HCP 集群后,才能删除帐户级 AWS 身份和访问管理 (IAM) 角色和策略。
其他同一个 AWS 账户中的 ROSA 集群可能会使用帐户级 IAM 角色和策略。只有在其他集群不需要这些角色时,才能删除它们。 |
您有一些想要删除的帐户级 IAM 角色。
您已在安装主机上安装并配置了最新的 ROSA CLI (rosa
)。
删除帐户级角色
使用 ROSA CLI (rosa
) 列出 AWS 账户中的帐户级角色
$ 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
I: Fetching account roles ROLE NAME ROLE TYPE ROLE ARN OPENSHIFT VERSION AWS Managed ManagedOpenShift-HCP-ROSA-Installer-Role Installer arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Installer-Role 4.17 Yes ManagedOpenShift-HCP-ROSA-Support-Role Support arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Support-Role 4.17 Yes ManagedOpenShift-HCP-ROSA-Worker-Role Worker arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-HCP-ROSA-Worker-Role 4.17 Yes
删除帐户级角色
$ rosa delete account-roles --prefix <prefix> --mode auto (1)
1 | 您必须包含--<prefix> 参数。将 <prefix> 替换为要删除的帐户级角色的前缀。如果您在创建帐户级角色时未指定自定义前缀,请指定默认前缀 ManagedOpenShift 。 |
同一个 AWS 账户中的其他 ROSA 集群可能会使用帐户级 IAM 角色。只有在其他集群不需要这些角色时,才能删除它们。 |
W: There are no classic account roles to be deleted
I: Deleting hosted CP account roles
? Delete the account role 'delete-rosa-HCP-ROSA-Installer-Role'? Yes
I: Deleting account role 'delete-rosa-HCP-ROSA-Installer-Role'
? Delete the account role 'delete-rosa-HCP-ROSA-Support-Role'? Yes
I: Deleting account role 'delete-rosa-HCP-ROSA-Support-Role'
? Delete the account role 'delete-rosa-HCP-ROSA-Worker-Role'? Yes
I: Deleting account role 'delete-rosa-HCP-ROSA-Worker-Role'
I: Successfully deleted the hosted CP account roles
删除帐户级内联策略和 Operator 策略
在 AWS IAM 控制台 的**策略**页面下,按您在创建帐户级角色和策略时指定的前缀筛选策略列表。
如果您在创建帐户级角色时未指定自定义前缀,请搜索默认前缀 |
使用 AWS IAM 控制台 删除帐户级内联策略和 Operator 策略。有关使用 AWS IAM 控制台删除 IAM 策略的更多信息,请参阅 AWS 文档中的 删除 IAM 策略。
同一个 AWS 账户中的其他 ROSA 与 HCP 集群可能会使用帐户级内联和 Operator IAM 策略。只有在其他集群不需要这些角色时,才能删除它们。 |
使用 Red Hat OpenShift 集群管理器安装 ROSA 与 HCP 集群时,还会创建链接到您的 Red Hat 组织的 OpenShift 集群管理器和用户身份和访问管理 (IAM) 角色。删除集群后,您可以使用 ROSA CLI (rosa
) 取消链接并删除这些角色。
如果您想使用 OpenShift 集群管理器在同一个 AWS 账户中安装和管理其他 ROSA 与 HCP,则需要 OpenShift 集群管理器和用户 IAM 角色。只有在您不再需要使用 OpenShift 集群管理器安装 ROSA 与 HCP 集群时,才能删除这些角色。 |
您创建了 OpenShift 集群管理器和用户 IAM 角色,并将其链接到您的 Red Hat 组织。
您已在安装主机上安装并配置了最新的 ROSA CLI (rosa
)。
您在 Red Hat 组织中拥有组织管理员权限。
取消链接 OpenShift 集群管理器 IAM 角色与您的 Red Hat 组织,并删除该角色
列出 AWS 账户中的 OpenShift 集群管理器 IAM 角色
$ rosa list ocm-roles
I: Fetching ocm roles
ROLE NAME ROLE ARN LINKED ADMIN AWS Managed
ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> Yes Yes Yes
如果您的 OpenShift 集群管理器 IAM 角色在前面命令的输出中列为已链接,请通过运行以下命令将其从您的 Red Hat 组织取消链接
$ rosa unlink ocm-role --role-arn <arn> (1)
1 | 将 <arn> 替换为您的 OpenShift 集群管理器 IAM 角色的 Amazon 资源名称 (ARN)。ARN 在前面命令的输出中指定。在前面的示例中,ARN 的格式为 arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id> 。 |
I: Unlinking OCM role
? Unlink the 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' role from organization '<red_hat_organization_id>'? Yes
I: Successfully unlinked role-arn 'arn:aws:iam::<aws_account_id>:role/ManagedOpenShift-OCM-Role-<red_hat_organization_external_id>' from organization account '<red_hat_organization_id>'
删除 OpenShift 集群管理器 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 集群管理器 IAM 角色和策略。在 manual 模式下,ROSA CLI 会生成删除角色和策略所需的 aws 命令。manual 模式允许您在手动运行 aws 命令之前查看详细信息。 |
取消链接用户 IAM 角色与您的 Red Hat 组织,并删除该角色
列出 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
如果您的用户 IAM 角色在前面命令的输出中列为已链接,请将其从您的 Red Hat 组织取消链接
$ rosa unlink user-role --role-arn <arn> (1)
1 | 将 <arn> 替换为您的用户 IAM 角色的 Amazon 资源名称 (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>'
删除用户 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 角色。在 manual 模式下,ROSA CLI 会生成删除角色所需的 aws 命令。manual 模式允许您在手动运行 aws 命令之前查看详细信息。 |
有关集群删除保护功能的信息,请参阅 编辑对象。
有关使用 STS 的 ROSA 集群的 AWS IAM 资源的信息,请参阅 关于使用 STS 的 ROSA 集群的 IAM 资源。
有关由于缺少 IAM 角色而导致的集群错误的信息,请参阅 修复无法删除的集群。