관리 클러스터 삭제

이 페이지에서는 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에 등록됩니다.

  1. 프로젝트에 등록된 모든 관리자 클러스터를 나열합니다.

    gcloud container vmware admin-clusters list \
         --project=PROJECT_ID \
         --location=-
    

    PROJECT_ID를 Fleet 호스트 프로젝트의 ID로 바꿉니다.

    이 명령어는 Google Cloud 리전과 함께 프로젝트의 GKE On-Prem API에 등록된 각 관리자 클러스터의 이름을 출력합니다.

    --location=-을 설정하면 모든 리전의 모든 클러스터가 나열됩니다. 목록의 범위를 좁혀야 하는 경우 클러스터를 등록할 때 지정한 리전으로 --location을 설정합니다.

  2. GKE On-Prem API에서 클러스터를 등록 해제합니다.

    gcloud container vmware admin-clusters unenroll  ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID \
        --location=REGION
    

    다음을 바꿉니다.

    • ADMIN_CLUSTER_NAME: 관리자 클러스터 이름
    • PROJECT_ID: Fleet 호스트 프로젝트의 ID
    • REGION: 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 콘솔에서 다음을 수행합니다.

  1. 콘솔의 오른쪽 상단 구석에서 정리할 파티션으로 전환합니다.
  2. 로컬 트래픽 > 가상 서버 > 가상 서버 목록을 선택합니다.
  3. 가상 서버 메뉴에서 모든 가상 IP를 삭제합니다.
  4. 을 선택한 다음 모든 풀을 삭제합니다.
  5. 노드를 선택한 후 모든 노드를 삭제합니다.

F5 파티션이 깨끗한지 확인

CLI

다음 명령어를 실행하여 VIP가 다운되었는지 확인합니다.

ping -c 1 -W 1 F5_LOAD_BALANCER_IP; echo $?

VIP가 다운되면 1이 반환됩니다.

F5 UI

파티션이 F5 사용자 인터페이스에서 삭제되었는지 확인하려면 다음 단계를 수행합니다.

  1. 오른쪽 상단 구석에서 파티션 드롭다운 메뉴를 클릭합니다. 관리자 클러스터의 파티션을 선택합니다.
  2. 왼쪽 기본 메뉴에서 로컬 트래픽 > 네트워크 맵을 선택합니다. 로컬 트래픽 네트워크 맵 아래에는 아무것도 표시되지 않습니다.
  3. 로컬 트래픽 > 가상 서버에서 노드를 선택한 다음 노드 목록을 선택합니다. 여기에도 아무것도 표시되지 않습니다.

남아 있는 항목이 있으면 UI에서 수동으로 삭제합니다.

관리 노드 머신 종료

먼저 이 명령어를 실행하여 머신 이름을 가져온 후에 종료합니다.

kubectl get machines -o wide

이 출력에 머신 이름이 나열됩니다. 이제 vSphere UI에서 이를 확인할 수 있습니다.

관리자 컨트롤 플레인 노드 머신을 삭제하려면 vSphere 리소스 풀에 남아 있는 각각의 관리자 VM을 종료해야 합니다.

vSphere UI

다음 단계를 수행합니다.

  1. vSphere 메뉴의 vSphere 리소스 풀에서 VM을 선택합니다.
  2. VM 메뉴 상단에 있는 작업을 클릭합니다.
  3. 전원 > 전원 끄기를 선택합니다. VM이 종료되는 데 몇 분 정도 걸릴 수 있습니다.

관리 노드 머신 삭제

VM이 종료되면 VM을 삭제할 수 있습니다.

vSphere UI

다음 단계를 수행합니다.

  1. vSphere 메뉴의 vSphere 리소스 풀에서 VM을 선택합니다.
  2. VM 메뉴 상단에 있는 작업을 클릭합니다.
  3. 디스크에서 삭제를 클릭합니다.

데이터 디스크 삭제

VM을 삭제한 후에 데이터 디스크를 삭제할 수 있습니다. 고가용성(HA) 관리자 클러스터가 있는지 HA가 아닌 관리자 클러스터가 있는지에 따라 단계가 약간 달라집니다.

vSphere UI에서 다음 단계를 수행합니다.

HA 이외

  1. vSphere 메뉴에서 관리자 클러스터 구성 파일의 vCenter.dataDisk 필드에 지정된 대로 데이터 스토어에서 데이터 디스크를 선택합니다.
  2. 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

각 데이터 디스크를 삭제하려면 다음 단계를 수행합니다.

  1. vSphere 메뉴에서 Datastore의 데이터 디스크를 선택합니다.
  2. Datastore 메뉴 중간에 있는 삭제를 클릭합니다.

checkpoint.yaml 파일 삭제

HA 관리자 클러스터를 삭제하는 경우 HA 관리자 클러스터가 체크포인트 파일을 지원하지 않으므로 이 단계를 건너뜁니다.

DATA_DISK_NAME-checkpoint.yaml 파일은 데이터 디스크와 동일한 폴더에 있습니다. 여기서 DATA_DISK_NAME은 데이터 디스크의 이름입니다. 이 파일을 삭제합니다.

관리자 클러스터 등록 취소

관리자 클러스터를 만들 때 Google Cloud Fleet에 클러스터를 등록합니다. 다음 명령어를 실행하여 클러스터를 등록 취소하는 Fleet 멤버십을 삭제합니다.

gcloud container fleet memberships delete ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=global

이 명령어는 Google Cloud에서 Fleet 멤버십 리소스를 삭제합니다.

완료 후

관리자 클러스터 삭제가 완료되면 해당 클러스터의 kubeconfig를 삭제합니다.