11.9. 删除 ROSA 集群
使用 rosa
命令行删除 Red Hat OpenShift Service on AWS (ROSA)集群。
AWS 安全令牌服务 (STS) 是推荐的凭证模式,用于安装 Red Hat OpenShift Service on AWS (ROSA) 集群并与之交互,因为它提供了增强的安全性。
11.9.1. 前提条件
如果 Red Hat OpenShift Service on AWS 创建了一个 VPC,则必须从集群中删除以下项目,然后才能成功删除集群:
- 网络配置,如 VPN 配置和 VPC 对等连接
- 添加到 VPC 的任何其他服务
如果这些配置和服务仍然存在,集群不会正确删除。
11.9.2. 删除 ROSA 集群和特定于集群的 IAM 资源
您可以使用 ROSA CLI (rosa
) 或 Red Hat OpenShift Cluster Manager 删除使用 AWS 安全令牌服务(STS) 的 Red Hat OpenShift Service on AWS (ROSA) 集群。
删除集群后,您可以使用 ROSA CLI (rosa
) 清理 AWS 帐户中特定于集群的 Identity and Access Management (IAM) 资源。特定于集群的资源包括 Operator 角色和 OpenID Connect (OIDC)供应商。
集群删除必须在删除 IAM 资源前完成,因为集群删除和清理过程会用到这些资源。
如果安装了附加组件,集群删除需要更长的时间,因为在删除集群前卸载附加组件。时间量取决于附加组件的数量和大小。
如果在安装过程中创建 VPC 的集群被删除,相关的安装程序创建的 VPC 也会被删除,从而导致所有使用同一 VPC 的集群失败。另外,任何使用由安装程序创建的资源相同的 tagSet
键值对创建的,且带有值为 owned
的标签的资源也会被删除。
前提条件
- 已安装 ROSA 集群。
-
您已在安装主机上安装并配置了最新的 ROSA CLI (
rosa
)。
流程
获取集群 ID、特定于集群 Operator 角色的 Amazon 资源名称 (ARN) 和 OIDC 供应商的端点 URL:
$ rosa describe cluster --cluster=<cluster_name> 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
重要在删除集群后,您需要集群 ID 来使用 ROSA CLI (
rosa
)删除特定于集群的 STS 资源。删除集群:
使用 Red Hat OpenShift Cluster Manager 删除集群:
- 导航到 OpenShift Cluster Manager。
- 点集群 旁边的 Options 菜单并选择 Delete cluster。
- 在提示符处键入集群名称并点 Delete。
使用 ROSA CLI (
rosa
)删除集群:输入以下命令删除集群并观察日志,将 <
cluster_name&
gt; 替换为集群的名称或 ID:$ rosa delete cluster --cluster=<cluster_name> --watch
重要在删除 Operator 角色和 OIDC 供应商前,您必须等待集群删除完成。需要特定于集群的 Operator 角色来清理 OpenShift Operator 创建的资源。Operator 使用 OIDC 供应商进行身份验证。
删除集群 Operator 用于身份验证的 OIDC 供应商:
$ rosa delete oidc-provider -c <cluster_id> --mode auto 1
- 1
- 将
<cluster_id>
替换为集群的 ID。
注意您可以使用
-y
选项,在提示符处自动回答 yes。可选。删除特定于集群的 Operator IAM 角色:
重要帐户范围的 IAM 角色可供同一 AWS 帐户中的其他 ROSA 集群使用。只有角色不再被其他集群需要时,才删除这些资源。
$ rosa delete operator-roles -c <cluster_id> --mode auto 1
- 1
- 将
<cluster_id>
替换为集群的 ID。
故障排除
- 如果因为缺少 IAM 角色无法删除 集群,请参阅额外修复无法删除的集群。
如果因为其他原因无法删除集群:
- 检查 混合云控制台中 是否有待处理的集群的附加组件。
- 检查 Amazon Web 控制台中是否删除了所有 AWS 资源和依赖项。