删除Terraform创建的集群

本文将介绍如何删除通过Terraform创建的ACK集群,并提供选项以保留所需资源。

前提条件

已使用Terraform创建以下集群:

使用说明

使用Terraform删除集群时,您可以通过retain_resources来保留需要资源,还可以通过配置delete_options删除和保留资源。

描述

delete_options

retain_resources

实现方式

在删除ACK集群时,指定资源保留或删除。

在删除ACK集群时,指定资源保留。

示例:

delete_options {
 delete_mode = "delete"
 resource_type = "SLS_ControlPlane"
 }
说明

delete_mode 可以选择如下参数。

  • delete:删除该类资源。

  • retain:保留该类资源。

示例:

retain_resources = ["ngw-xxxx"]

将资源实例ID填写到retain_resources 参数中。可以通过查询指定集群的关联资源获取实例ID。

支持集群关联资源

  • SLB:通过Service创建的 SLB 资源,默认删除,可选择保留。

  • ALB:ALB Ingress Controller创建的ALB资源,默认保留,可选择删除。

  • SLS_Data:集群日志功能所使用的日志服务 Project,默认保留,可选择删除。

  • SLS_ControlPlane:托管版集群控制平面日志所使用的日志服务 Project,默认保留,可选择删除。

  • PrivateZone:ACK Serverless集群创建的 PrivateZone资源,默认保留,可选择删除。

  • 负载均衡(API Server SLB)

  • 公网NAT网关

  • 公网NAT网关SNAT条目

  • 弹性公网IP(公网NAT网关)

支持集群类型

  • ACK托管集群

  • ACK专有集群

  • ACK Serverless集群

  • ACK托管集群

  • ACK Serverless集群

  • ACK专有集群

  • ACK Edge集群

步骤一:新增管理资源参数

您在已创建的ACK集群配置文件main.tf中,添加以下参数以管理删除或保留资源。

resource "alicloud_cs_managed_kubernetes" "default" {    # 添加位置。
  ...
  // 将资源实例ID添加到[]。
  retain_resources = ["ngw-xxxx"]
  // delete SLB resources created by the cluster
  delete_options {
    delete_mode = "delete"
    resource_type = "SLB"
  }
  // 删除ALB入口控制器创建的ALB资源。
  delete_options {
    delete_mode = "delete"
    resource_type = "ALB"
  }
  // 删除集群日志功能使用的SLS项目。
  delete_options {
    delete_mode = "delete"
    resource_type = "SLS_Data"
  }
  // 删除用于托管集群控制面日志的SLS项目。
  delete_options {
    delete_mode = "delete"
    resource_type = "SLS_ControlPlane"
  }
}

执行以下命令,为删除操作添加相关操作属性。

terraform apply

步骤二:删除集群

您可以通过以下操作步骤删除通过Terraform创建的集群。

说明

使用terraform destroy命令将删除所有Terraform管理下的资源,包括不可恢复的操作(如数据删除)。在执行前请确保备份所有重要数据和资源。

  1. 您可以执行以下命令,删除通过Terraform创建的集群。

    terraform destroy
  2. 返回信息如下,输入yes,按Enter键,集群删除成功。

    ...
    Do you really want to destroy all resources?
      Terraform will destroy all your managed infrastructure, as shown above.
      There is no undo. Only 'yes' will be accepted to confirm.
    
      Enter a value: yes
    ...
    Destroy complete! Resources: 7 destroyed.