이 주제에서는 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의 공개 서브넷에 배스천 호스트가 포함됩니다.
관리 서비스에 연결하려면 다음 단계를 수행하세요.
- GKE on AWS 구성이 있는 디렉터리로 변경합니다. 이 디렉터리는 관리 서비스를 설치할 때 생성됩니다. - cd anthos-aws 
- bastion-tunnel.sh스크립트를 실행하여 터널을 엽니다. 터널이- localhost:8118로 연결됩니다.- 배스천 호스트에 대한 터널을 열려면 다음 명령어를 실행합니다. - ./bastion-tunnel.sh -N- SSH 터널의 메시지가 이 창에 표시됩니다. 연결을 종료할 준비가 되면 Control+C를 사용하거나 창을 닫아 프로세스를 중지합니다. 
- 새 터미널을 열고 - anthos-aws디렉터리로 변경합니다.- cd anthos-aws 
- kubectl을 사용하여 클러스터에 연결할 수 있는지 확인합니다.- env HTTPS_PROXY=http://localhost:8118 \ kubectl cluster-info- 출력에는 관리 서비스 API 서버의 URL이 포함됩니다. 
사용자 클러스터 삭제
kubectl을 사용하여 사용자 클러스터를 삭제합니다. GKE on AWS는 모든 노드를 정상적으로 종료합니다. Pod가 SIGTERM을 수신하고 나서 유예 기간이 지난 후 SIGKILL을 수신합니다. pod가 중지된 다음에는 관리 서비스가 AWS 리소스 이동을 시작합니다.
사용자 클러스터를 삭제하려면 다음 단계를 수행하세요.
- anthos-aws디렉터리에서- anthos-gke를 사용하여 컨텍스트를 사용자 클러스터로 전환합니다.- cd anthos-aws env HTTPS_PROXY=http://localhost:8118 \ anthos-gke aws clusters get-credentials CLUSTER_NAME 
- 이전에 만든 부하 분산기 인그레스 또는 PersistentVolumeClaim 리소스를 삭제합니다. - 다음 - kubectl명령어를 사용하여 사용자 클러스터에 남은 부하 분산기 서비스가 있는지 확인합니다.- env HTTPS_PROXY=http://localhost:8118 \ kubectl get services
- 다음 - kubectl명령어를 사용하여 사용자 클러스터에 남아 있는 PersistentVolumeClaim이 남아 있는지 확인합니다.- env HTTPS_PROXY=http://localhost:8118 \ kubectl get persistentvolumeclaim
- kubectl delete를 사용하여 생성된 남은 서비스 또는 PersistentVolumeClaims를 삭제합니다. 예를 들어 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
 
- anthos-aws디렉터리에서- anthos-gke를 사용하여 컨텍스트를 관리 서비스로 전환합니다.- cd anthos-aws anthos-gke aws management get-credentials 
- kubectl로 모든 AWSNodePool을 삭제합니다.- env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSNodePool --all
- kubectl로 모든 AWSCluster를 삭제합니다.- env HTTPS_PROXY=http://localhost:8118 \ kubectl delete AWSCluster --all
관리 서비스 삭제
anthos-gke를 사용하여 관리 서비스를 삭제합니다.
- 디렉터리를 설치 중에 만든 폴더로 변경합니다. 
- 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 버킷을 삭제하려면 다음 단계를 수행합니다.
- 버킷 이름을 찾으려면 - terraform-workspace/terraform.tfvars.json에서- grep으로- gcs_download_bucket값을 찾습니다.- grep agent_s3_bucket terraform.tfvars.json
- aws명령어로 이 s3 버킷과 콘텐츠를 삭제하고 bucket-name은 이전 명령어의 버킷 이름으로 바꿉니다.- aws s3 rb s3://bucket-name --force