$ rosa describe cluster --cluster=<cluster_name>
如果您想删除带有托管控制平面 (HCP) 集群的Red Hat OpenShift Service on AWS (ROSA),您可以使用Red Hat OpenShift集群管理器或ROSA命令行界面 (CLI) (rosa
)。删除集群后,您还可以删除集群使用的AWS身份和访问管理(IAM)资源。
您可以使用ROSA命令行界面 (CLI) (rosa
) 或Red Hat OpenShift集群管理器删除带有HCP集群的ROSA。
删除集群后,您可以使用ROSA CLI清理AWS帐户中的集群特定身份和访问管理(IAM)资源。集群特定资源包括操作员角色和OpenID Connect (OIDC)提供程序。
必须在删除IAM资源之前完成集群删除,因为这些资源用于集群删除和清理过程。 |
如果安装了附加组件,则集群删除将花费更长时间,因为在删除集群之前会卸载附加组件。所需时间取决于附加组件的数量和大小。
您已安装带有HCP集群的ROSA。
您已在安装主机上安装并配置了最新的ROSA CLI (rosa
)。
通过运行以下命令获取集群ID、集群特定操作员角色的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
1 | 列出集群ID。 |
2 | 指定集群特定操作员角色的ARN。例如,在示例输出中,机器配置操作员所需的该角色的ARN是arn:aws:iam::<aws_account_id>:role/mycluster-x4q9-openshift-machine-api-aws-cloud-credentials 。 |
3 | 显示集群特定OIDC提供程序的端点URL。 |
删除集群后,您需要集群ID才能使用ROSA CLI删除集群特定的STS资源。 |
使用OpenShift集群管理器或ROSA CLI (rosa
)删除集群
要使用OpenShift集群管理器删除集群
导航到OpenShift集群管理器。
点击集群旁边的选项菜单 并选择**删除集群**。
在提示符中键入集群名称,然后单击**删除**。
要使用ROSA CLI删除集群
运行以下命令,将<cluster_name>
替换为集群的名称或ID
$ rosa delete cluster --cluster=<cluster_name> --watch
您必须等到集群删除完成才能删除操作员角色和OIDC提供程序。 |
通过运行以下命令删除集群特定的操作员IAM角色
$ rosa delete operator-roles --prefix <operator_role_prefix>
通过运行以下命令删除OIDC提供程序
$ rosa delete oidc-provider --oidc-config-id <oidc_config_id>
删除所有依赖于帐户范围AWS身份和访问管理(IAM)资源的带有托管控制平面(HCP)集群的Red Hat OpenShift Service on AWS (ROSA)后,您可以删除帐户范围的资源。
如果您不再需要使用Red Hat OpenShift集群管理器安装带有HCP集群的ROSA,您还可以删除OpenShift集群管理器和用户IAM角色。
帐户范围的IAM角色和策略可能被同一AWS帐户中的其他带有HCP集群的ROSA使用。只有在其他集群不需要这些资源时才删除它们。 如果您想使用OpenShift集群管理器在同一AWS帐户中安装、管理和删除其他Red Hat OpenShift Service on AWS集群,则需要OpenShift集群管理器和用户IAM角色。只有在您不再需要使用OpenShift集群管理器在您的帐户中安装Red Hat OpenShift Service on AWS集群时才删除这些角色。有关在删除这些角色之前修复集群的更多信息,请参阅《故障排除集群部署》中的“修复无法删除的集群”。 |
本节提供删除为 ROSA with HCP 部署创建的帐户范围的 IAM 角色和策略以及帐户范围的操作员策略的步骤。只有在删除所有依赖它们的 ROSA with HCP 集群后,才能删除帐户范围的 AWS Identity and Access Management (IAM) 角色和策略。
帐户范围的 IAM 角色和策略可能被同一 AWS 帐户中的其他 Red Hat OpenShift Service on AWS 使用。只有在其他集群不需要这些角色时,才能删除它们。 |
您有一些要删除的帐户范围的 IAM 角色。
您已在安装主机上安装并配置了最新的ROSA CLI (rosa
)。
删除帐户范围的角色
使用 ROSA CLI (rosa
) 列出 AWS 帐户中的帐户范围的角色
$ rosa list account-roles
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 。 |
帐户范围的 IAM 角色可能被同一 AWS 帐户中的其他 ROSA 集群使用。只有在其他集群不需要这些角色时,才能删除它们。 |
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
删除帐户范围的内联策略和操作员策略
在 AWS IAM 控制台 的**策略**页面下,按创建帐户范围的角色和策略时指定的 prefix 筛选策略列表。
如果您在创建帐户范围的角色时未指定自定义前缀,请搜索默认前缀 |
使用 AWS IAM 控制台 删除帐户范围的内联策略和操作员策略。有关使用 AWS IAM 控制台删除 IAM 策略的更多信息,请参见 AWS 文档中的 删除 IAM 策略。
同一 AWS 帐户中的其他 ROSA with HCP 可能使用帐户范围的内联和操作员 IAM 策略。只有在其他集群不需要这些角色时,才能删除它们。 |
使用 Red Hat OpenShift 集群管理器安装 ROSA with HCP 集群时,还会创建链接到 Red Hat 组织的 OpenShift 集群管理器和用户 Identity and Access Management (IAM) 角色。删除集群后,您可以使用 ROSA CLI (rosa
) 取消链接并删除这些角色。
如果您想使用 OpenShift 集群管理器在同一 AWS 帐户中安装和管理其他 ROSA with HCP,则需要 OpenShift 集群管理器和用户 IAM 角色。只有在您不再需要使用 OpenShift 集群管理器安装 ROSA with 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 命令之前查看详细信息。 |