이 페이지에서는 VMware용 Google Distributed Cloud(소프트웨어 전용)로 만든 관리자 클러스터를 삭제하는 방법을 설명합니다.
시작하기 전에
관리자 클러스터를 삭제하기 전에 다음 단계를 완료하세요.
- 사용자 클러스터를 삭제합니다. 사용자 클러스터 삭제를 참조하세요.
- 관리자 클러스터에서 PodDisruptionBudgets을 사용하는 모든 워크로드를 삭제합니다.
- PersistentVolume과 같은 모든 외부 객체를 관리자 클러스터에서 삭제합니다.
삭제하려는 관리자 클러스터의 kubeconfig를 가리키는
KUBECONFIG
환경 변수를 설정합니다.export KUBECONFIG=ADMIN_CLUSTER_KUBECONFIG
여기서
ADMIN_CLUSTER_KUBECONFIG
는 관리자 클러스터의 kubeconfig 파일 경로입니다.관리자 클러스터 이름을 메모해 두세요.
kubectl get onpremadmincluster
관리자 클러스터 등록 해제
관리자 클러스터가 GKE On-Prem API에 등록된 경우 먼저 API에서 관리자 클러스터를 등록 해제해야 합니다. 관리자 클러스터는 사용자가 클러스터를 명시적으로 등록할 때 또는 Google Cloud CLI를 사용해서 사용자 클러스터를 업그레이드할 때 API에 등록됩니다.
프로젝트에 등록된 모든 관리자 클러스터를 나열합니다.
gcloud container vmware admin-clusters list \ --project=PROJECT_ID \ --location=-
PROJECT_ID
를 Fleet 호스트 프로젝트의 ID로 바꿉니다.이 명령어는 Google Cloud 리전과 함께 프로젝트의 GKE On-Prem API에 등록된 각 관리자 클러스터의 이름을 출력합니다.
--location=-
을 설정하면 모든 리전의 모든 클러스터가 나열됩니다. 목록의 범위를 좁혀야 하는 경우 클러스터를 등록할 때 지정한 리전으로--location
을 설정합니다.GKE On-Prem API에서 클러스터를 등록 해제합니다.
gcloud container vmware admin-clusters unenroll ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION
다음을 바꿉니다.
ADMIN_CLUSTER_NAME
: 관리자 클러스터 이름PROJECT_ID
: Fleet 호스트 프로젝트의 IDREGION
: Google Cloud 리전
이 명령어는 Google Cloud에서 GKE On-Prem API 리소스를 삭제합니다.
로깅 및 모니터링 삭제
StatefulSet에서 배포된 Google Distributed Cloud의 로깅 및 모니터링 포드는 노드가 제대로 드레이닝되지 않도록 하는 PDB를 사용합니다. 관리자 클러스터를 올바르게 삭제하려면 이 Pod를 삭제해야 합니다.
로깅 및 모니터링 포드를 삭제하려면 다음 명령어를 실행합니다.
kubectl delete monitoring --all -n kube-system kubectl delete stackdriver --all -n kube-system
모니터링을 삭제하면 StatefulSet와 연결된 PersistentVolume(PV)이 삭제되지만 Stackdriver용 PersistentVolume은 별도로 삭제해야 합니다.
Stackdriver PV 삭제는 선택사항입니다. PV를 삭제하지 않기로 선택한 경우 사용자 클러스터 밖 외부 위치에 연결된 PV의 위치와 이름을 기록합니다.
PV 삭제는 영구 볼륨 신청(PVC) 삭제를 통해 전파됩니다.
Stackdriver PVC를 찾으려면 다음 명령어를 실행합니다.
kubectl get pvc -n kube-system
PVC를 삭제하려면 다음 명령어를 실행합니다.
kubectl delete pvc -n kube-system PVC_NAME
로깅 및 모니터링 삭제 확인
로깅과 모니터링이 삭제되었는지 확인하려면 다음 명령어를 실행합니다.
kubectl get pvc -n kube-system kubectl get statefulsets -n kube-system
관리자 클러스터의 F5 파티션 정리
관리자 클러스터에서 gke-system
네임스페이스를 삭제하면 F5 파티션이 올바르게 정리되므로 다른 관리자 클러스터에서 파티션을 재사용할 수 있습니다.
gke-system
네임스페이스를 삭제하려면 다음 명령어를 실행합니다.
kubectl delete ns gke-system
그런 다음 LoadBalancer 유형의 나머지 서비스를 삭제합니다. 모든 서비스를 나열하려면 다음 명령어를 실행합니다.
kubectl get services --all-namespaces
LoadBalancer 유형의 서비스마다 다음 명령어를 실행하여 삭제합니다.
kubectl delete service SERVICE_NAME -n SERVICE_NAMESPACE
그런 다음 F5 BIG-IP 콘솔에서 다음을 수행합니다.
- 콘솔의 오른쪽 상단 구석에서 정리할 파티션으로 전환합니다.
- 로컬 트래픽 > 가상 서버 > 가상 서버 목록을 선택합니다.
- 가상 서버 메뉴에서 모든 가상 IP를 삭제합니다.
- 풀을 선택한 다음 모든 풀을 삭제합니다.
- 노드를 선택한 후 모든 노드를 삭제합니다.
F5 파티션이 깨끗한지 확인
CLI
다음 명령어를 실행하여 VIP가 다운되었는지 확인합니다.
ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?
VIP가 다운되면 1
이 반환됩니다.
F5 UI
파티션이 F5 사용자 인터페이스에서 삭제되었는지 확인하려면 다음 단계를 수행합니다.
- 오른쪽 상단 구석에서 파티션 드롭다운 메뉴를 클릭합니다. 관리자 클러스터의 파티션을 선택합니다.
- 왼쪽 기본 메뉴에서 로컬 트래픽 > 네트워크 맵을 선택합니다. 로컬 트래픽 네트워크 맵 아래에는 아무것도 표시되지 않습니다.
- 로컬 트래픽 > 가상 서버에서 노드를 선택한 다음 노드 목록을 선택합니다. 여기에도 아무것도 표시되지 않습니다.
남아 있는 항목이 있으면 UI에서 수동으로 삭제합니다.
관리 노드 머신 종료
먼저 이 명령어를 실행하여 머신 이름을 가져온 후에 종료합니다.
kubectl get machines -o wide
이 출력에 머신 이름이 나열됩니다. 이제 vSphere UI에서 이를 확인할 수 있습니다.
관리자 컨트롤 플레인 노드 머신을 삭제하려면 vSphere 리소스 풀에 남아 있는 각각의 관리자 VM을 종료해야 합니다.
vSphere UI
다음 단계를 수행합니다.
- vSphere 메뉴의 vSphere 리소스 풀에서 VM을 선택합니다.
- VM 메뉴 상단에 있는 작업을 클릭합니다.
- 전원 > 전원 끄기를 선택합니다. VM이 종료되는 데 몇 분 정도 걸릴 수 있습니다.
관리 노드 머신 삭제
VM이 종료되면 VM을 삭제할 수 있습니다.
vSphere UI
다음 단계를 수행합니다.
- vSphere 메뉴의 vSphere 리소스 풀에서 VM을 선택합니다.
- VM 메뉴 상단에 있는 작업을 클릭합니다.
- 디스크에서 삭제를 클릭합니다.
데이터 디스크 삭제
VM을 삭제한 후에 데이터 디스크를 삭제할 수 있습니다. 고가용성(HA) 관리자 클러스터가 있는지 HA가 아닌 관리자 클러스터가 있는지에 따라 단계가 약간 달라집니다.
vSphere UI에서 다음 단계를 수행합니다.
HA 이외
- vSphere 메뉴에서 관리자 클러스터 구성 파일의
vCenter.dataDisk
필드에 지정된 대로 데이터 스토어에서 데이터 디스크를 선택합니다. - Datastore 메뉴 중간에 있는 삭제를 클릭합니다.
HA
3개의 관리자 컨트롤 플레인 머신에 대한 데이터 디스크 경로는 /anthos/ADMIN_CLUSTER/default/
아래에 자동 생성됩니다. 예를 들면 다음과 같습니다.
/anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-0-data.vmdk /anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-1-data.vmdk /anthos/ADMIN_CLUSTER_NAME/default/MACHINE_NAME-2-data.vmdk
각 데이터 디스크를 삭제하려면 다음 단계를 수행합니다.
- vSphere 메뉴에서 Datastore의 데이터 디스크를 선택합니다.
- Datastore 메뉴 중간에 있는 삭제를 클릭합니다.
checkpoint.yaml
파일 삭제
HA 관리자 클러스터를 삭제하는 경우 HA 관리자 클러스터가 체크포인트 파일을 지원하지 않으므로 이 단계를 건너뜁니다.
DATA_DISK_NAME-checkpoint.yaml 파일은 데이터 디스크와 동일한 폴더에 있습니다. 여기서 DATA_DISK_NAME은 데이터 디스크의 이름입니다. 이 파일을 삭제합니다.
관리자 클러스터 등록 취소
관리자 클러스터를 만들 때 Google Cloud Fleet에 클러스터를 register합니다. 다음 명령어를 실행하여 클러스터를 등록 취소하는 Fleet 멤버십을 삭제합니다.
gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \ --project=PROJECT_ID \ --location=global
이 명령어는 Google Cloud에서 Fleet 멤버십 리소스를 삭제합니다.
완료 후
관리자 클러스터 삭제가 완료되면 해당 클러스터의 kubeconfig를 삭제합니다.