全部產品
Search
文件中心

Container Service for Kubernetes:刪除Terraform建立的叢集

更新時間:Nov 12, 2024

本文將介紹如何刪除通過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:叢集日誌功能所使用的Log Service Project,預設保留,可選擇刪除。

  • SLS_ControlPlane:託管版叢集控制平面日誌所使用的Log Service Project,預設保留,可選擇刪除。

  • PrivateZone:ACK Serverless叢集建立的 PrivateZone資源,預設保留,可選擇刪除。

  • 負載平衡(API Server SLB)

  • 公網NAT Gateway

  • 公網NAT GatewaySNAT條目

  • Elastic IP Address(公網NAT Gateway)

支援叢集類型

  • 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.