卸载 GKE on AWS

本主题介绍如何卸载 GKE on AWS。

准备工作

要执行以下步骤,请向您的 GKE on AWS 管理服务进行身份验证

如需连接到 GKE on AWS 资源,请执行以下步骤。选择您是拥有现有 AWS VPC(或者与 VPC 的直接连接)还是在创建管理服务时创建了专用 VPC。

现有 VPC

如果您拥有与现有 VPC 的直接连接或 VPN 连接,请省略本主题的命令中的行 env HTTP_PROXY=http://localhost:8118

专用 VPC

如果您在专用 VPC 中创建管理服务,则 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 命令检查用户集群上是否有剩余的负载均衡器 Service:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get services
      
    2. 使用以下 kubectl 命令检查用户集群上是否有剩余的 PersistentVolumeClaim:

      env HTTPS_PROXY=http://localhost:8118 \
        kubectl get persistentvolumeclaim
      
    3. 使用 kubectl delete 删除您创建的任何剩余 Service 或 PersistentVolumeClaim。例如,如需删除 LoadBalancer my-lb-service,请运行以下命令:

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

      例如,如需删除 PersistentVolumeClaim 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. 使用 kubectl 删除所有 AWSCluster。

    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 存储桶,其中包含用于创建集群的二进制文件。创建新用户集群时,系统会重复使用该存储桶。如果您不再使用 GKE on AWS,可以在删除管理服务后移除该存储桶。

如需删除 GKE on AWS S3 存储桶,请执行以下步骤:

  1. 如需查找该存储桶的名称,请使用 grepterraform-workspace/terraform.tfvars.json 中查找 gcs_download_bucket 的值。

    grep agent_s3_bucket terraform.tfvars.json
    
  2. 使用 aws 命令删除此 S3 存储桶及其内容,注意将 bucket-name 替换为上一条命令中的存储桶名称。

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