第 7 章 使用 HCP 集群删除 ROSA
如果要删除带有托管的 control plane (HCP)集群的 Red Hat OpenShift Service on AWS (ROSA),您可以使用 Red Hat OpenShift Cluster Manager 或 ROSA 命令行界面(CLI) (rosa
)。删除集群后,您还可以删除集群使用的 AWS Identity and Access Management (IAM)资源。
7.1. 使用 HCP 集群和特定于集群的 IAM 资源删除 ROSA
您可以使用 ROSA 命令行界面(CLI)或 Red Hat OpenShift Cluster Manager 删除带有 HCP 集群的 ROSA。
删除集群后,您可以使用 ROSA CLI 清理 AWS 帐户中特定于集群的 Identity and Access Management (IAM)资源。特定于集群的资源包括 Operator 角色和 OpenID Connect (OIDC)供应商。
集群删除必须在删除 IAM 资源前完成,因为集群删除和清理过程会用到这些资源。
如果安装了附加组件,集群删除需要更长的时间,因为在删除集群前卸载附加组件。所需时间取决于附加组件的数量和大小。
先决条件
- 已使用 HCP 集群安装了 ROSA。
-
您已在安装主机上安装并配置了最新的 ROSA CLI (
rosa
)。
流程
运行以下命令,获取集群 ID、特定于集群的 Operator 角色的 Amazon 资源名称(ARN)和 OIDC 供应商的端点 URL:
$ rosa describe cluster --cluster=<cluster_name>
输出示例
Name: test_cluster Domain Prefix: test_cluster Display Name: test_cluster ID: <cluster_id> 1 External ID: <external_id> Control Plane: ROSA Service Hosted OpenShift Version: 4.17.0 Channel Group: stable DNS: test_cluster.l3cn.p3.openshiftapps.com AWS Account: <AWS_id> AWS Billing Account: <AWS_id> API URL: https://api.test_cluster.l3cn.p3.openshiftapps.com:443 Console URL: Region: us-east-1 Availability: - Control Plane: MultiAZ - Data Plane: SingleAZ Nodes: - Compute (desired): 2 - Compute (current): 0 Network: - Type: OVNKubernetes - Service CIDR: 172.30.0.0/16 - Machine CIDR: 10.0.0.0/16 - Pod CIDR: 10.128.0.0/14 - Host Prefix: /23 - Subnets: <subnet_ids> EC2 Metadata Http Tokens: optional Role (STS) ARN: arn:aws:iam::<AWS_id>:role/test_cluster-HCP-ROSA-Installer-Role Support Role ARN: arn:aws:iam::<AWS_id>:role/test_cluster-HCP-ROSA-Support-Role Instance IAM Roles: - Worker: arn:aws:iam::<AWS_id>:role/test_cluster-HCP-ROSA-Worker-Role Operator IAM Roles: 2 - arn:aws:iam::<AWS_id>:role/test_cluster-openshift-cloud-network-config-controller-cloud-crede - arn:aws:iam::<AWS_id>:role/test_cluster-openshift-image-registry-installer-cloud-credentials - arn:aws:iam::<AWS_id>:role/test_cluster-openshift-ingress-operator-cloud-credentials - arn:aws:iam::<AWS_id>:role/test_cluster-kube-system-kube-controller-manager - arn:aws:iam::<AWS_id>:role/test_cluster-kube-system-capa-controller-manager - arn:aws:iam::<AWS_id>:role/test_cluster-kube-system-control-plane-operator - arn:aws:iam::<AWS_id>:role/hcpcluster-kube-system-kms-provider - arn:aws:iam::<AWS_id>:role/test_cluster-openshift-cluster-csi-drivers-ebs-cloud-credentials Managed Policies: Yes State: ready Private: No Created: Apr 16 2024 20:32:06 UTC User Workload Monitoring: Enabled Details Page: https://console.redhat.com/openshift/details/s/<cluster_id> OIDC Endpoint URL: https://oidc.op1.openshiftapps.com/<cluster_id> (Managed) 3 Audit Log Forwarding: Disabled External Authentication: Disabled
重要删除集群后,您需要集群 ID 来使用 ROSA CLI 删除特定于集群的 STS 资源。
使用 OpenShift Cluster Manager 或 ROSA CLI (
rosa
)删除集群:使用 OpenShift Cluster Manager 删除集群:
- 导航到 OpenShift Cluster Manager。
- 点击集群 旁边的 Options 菜单并选择 Delete cluster。
- 在提示符中输入集群名称并点 Delete。
使用 ROSA CLI 删除集群:
运行以下命令,将 <
;cluster_name
> 替换为集群的名称或 ID:$ rosa delete cluster --cluster=<cluster_name> --watch
重要在删除 Operator 角色和 OIDC 供应商前,您必须等待集群删除完成。
运行以下命令来删除特定于集群的 Operator IAM 角色:
$ rosa delete operator-roles --prefix <operator_role_prefix>
运行以下命令来删除 OIDC 供应商:
$ rosa delete oidc-provider --oidc-config-id <oidc_config_id>
故障排除
- 如果因为缺少 IAM 角色而无法删除 集群,请参阅修复无法删除的集群。
如果因为其他原因无法删除集群:
- 在 Hybrid Cloud Console 中,确保没有待处理的集群附加组件。
- 确保 Amazon Web 控制台中删除了所有 AWS 资源和依赖项。