在 AWS 中解除安裝 GKE

本主題說明如何解除安裝 GKE on AWS。

事前準備

如要執行這些步驟,請向 GKE on AWS 管理服務進行驗證

如要連線至 GKE on AWS 資源,請按照下列步驟操作。選取您是否已有 AWS 虛擬私有雲 (或直接連線至虛擬私有雲),或是在建立管理服務時建立了專屬虛擬私有雲。

現有 VPC

如果您已透過直接連線或 VPN 連線至現有虛擬私有雲,請從本主題的指令中省略 env HTTP_PROXY=http://localhost:8118 行。

專用虛擬私有雲

在專屬虛擬私有雲中建立管理服務時,GKE on AWS 會在公用子網路中加入堡壘主機。

如要連線至管理服務,請按照下列步驟操作:

  1. 切換至 GKE on AWS 設定所在的目錄。 您在安裝管理服務時建立了這個目錄。

    cd anthos-aws

  2. 如要開啟通道,請執行 bastion-tunnel.sh 指令碼。通道會轉送至 localhost:8118

    如要開啟防禦主機的通道,請執行下列指令:

    ./bastion-tunnel.sh -N
    

    這個視窗會顯示來自 SSH 通道的訊息。準備好關閉連線時,請使用 Control+C 停止程序,或關閉視窗。

  3. 開啟新的終端機,然後變更為 anthos-aws 目錄。

    cd anthos-aws
  4. 確認您可以使用 kubectl 連線至叢集。

    env HTTPS_PROXY=http://localhost:8118 \
    kubectl cluster-info
    

    輸出內容會包含管理服務 API 伺服器的網址。

刪除使用者叢集

您可以使用 kubectl 刪除使用者叢集。GKE on AWS 會正常關閉所有節點。Pod 會先收到 SIGTERM,寬限期過後則會收到 SIGKILL。Pod 停止後,管理服務會開始移除 AWS 資源。

如要刪除使用者叢集,請執行下列步驟:

  1. anthos-aws 目錄中,使用 anthos-gke 將環境切換至使用者叢集。

    cd anthos-aws
    env HTTPS_PROXY=http://localhost:8118 \
      anthos-gke aws clusters get-credentials CLUSTER_NAME
    CLUSTER_NAME 替換為使用者叢集名稱。

  2. 刪除您建立的任何負載平衡器IngressPersistentVolumeClaim資源。

    1. 使用下列 kubectl 指令,檢查使用者叢集上是否還有負載平衡器服務:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get services
      
    2. 使用下列 kubectl 指令,檢查使用者叢集上是否還有任何 PersistentVolumeClaim:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get persistentvolumeclaim
      
    3. 使用 kubectl delete 刪除您建立的任何剩餘服務或 PersistentVolumeClaim。舉例來說,如要刪除 LoadBalancer my-lb-service,請執行下列指令:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl delete service my-lb-service
      

      舉例來說,如要刪除 PersistentVolumeClaims my-pvc,請執行下列指令:

      env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete persistentvolumeclaim my-pvc
      
  3. anthos-aws 目錄使用 anthos-gke 將環境切換至管理服務。

    cd anthos-aws
    anthos-gke aws management get-credentials

  4. 使用 kubectl 刪除所有 AWSNodePool。

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSNodePool --all
    
  5. 刪除所有 AWSCluster (使用 kubectl)。

    env HTTPS_PROXY=http://localhost:8118 \
      kubectl delete AWSCluster --all
    

移除管理服務

您可以使用 anthos-gke 刪除管理服務。

  1. 將目錄變更為您在安裝期間建立的資料夾。

  2. 使用 anthos-gke 刪除管理服務的資源。

    env HTTP_PROXY=http://localhost:8118 \
      anthos-gke aws management delete
    

移除 AWS S3 值區

建立管理服務時,anthos-gke 會在 AWS 上建立 S3 bucket,其中包含叢集建立作業的二進位檔。建立新的使用者叢集時,系統會重複使用這個值區。如果您不再使用 AWS 上的 GKE,可以在刪除管理服務後移除儲存空間。

如要刪除 GKE on AWS S3 bucket,請執行下列步驟:

  1. 如要找出 bucket 名稱,請在 terraform-workspace/terraform.tfvars.json 中找出 gcs_download_bucketgcs_download_bucket 值。grep

    grep agent_s3_bucket terraform.tfvars.json
    
  2. 使用 aws 指令刪除這個 S3 值區及其內容,並將 bucket-name 替換為上一個指令中的值區名稱。

    aws s3 rb s3://bucket-name --force