사용자 클러스터 삭제

이 페이지에서는 GKE On-Prem 사용자 클러스터를 삭제하는 방법을 설명합니다.

개요

GKE On-Prem은 gkectl을 통해 사용자 클러스터 삭제를 지원합니다. 클러스터가 비정상인 경우(예: 제어 영역에 연결할 수 없거나 클러스터를 부트스트랩하지 못한 경우) 비정상 사용자 클러스터 삭제를 참조하세요.

사용자 클러스터 삭제

사용자 클러스터를 삭제하려면 다음 명령어를 실행합니다.

gkectl delete cluster \
--kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
--cluster [CLUSTER_NAME]

여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일이고 [CLUSTER_NAME]은 삭제하려는 사용자 클러스터의 이름입니다.

Seesaw 번들 부하 분산기를 사용하는 경우 부하 분산기를 삭제합니다.

알려진 문제

버전 1.1.2에서는 vSAN Datastore를 사용하는 경우 이 오류가 발생하는 알려진 문제가 있습니다.

Error deleting machine object xxx; Failed to delete machine xxx: failed
  to ensure disks detached: failed to convert disk path "" to UUID path:
  failed to convert full path "ds:///vmfs/volumes/vsan:52ed29ed1c0ccdf6-0be2c78e210559c7/":
  ServerFaultCode: A general system error occurred: Invalid fault

출시 노트에서 해결 방법을 참조하세요.

비정상적인 사용자 클러스터 삭제

클러스터가 비정상인 경우 --force을 전달하여 사용자 클러스터를 삭제할 수 있습니다. 사용자 클러스터는 제어 영역에 연결할 수 없거나 클러스터가 부트 스트랩에 실패하거나 gkectl delete cluster가 클러스터를 삭제하지 못할 경우 비정상적일 수 있습니다.

클러스터를 강제로 삭제하려면 다음을 실행합니다.

gkectl delete cluster \
--kubeconfig [ADMIN_CLUSTER_KUBECONFIG] \
--cluster [CLUSTER_NAME] \
--force

여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일이고 [CLUSTER_NAME]은 삭제하려는 사용자 클러스터의 이름입니다.

외부 리소스 정리

강제 삭제 후에는 일부 리소스가 F5 또는 vSphere에 남아 있을 수 있습니다. 다음 섹션에서는 이렇게 남은 리소스를 정리하는 방법을 설명합니다.

vSphere에서 사용자 클러스터의 VM 정리

사용자 클러스터의 VM이 삭제되었는지 확인하려면 다음 단계를 수행합니다.

  1. vSphere Web Client의 왼쪽 탐색기 메뉴에서 호스트 및 클러스터 메뉴를 클릭합니다.
  2. 리소스 풀을 찾습니다.
  3. 사용자 클러스터의 이름이 프리픽스로 붙은 VM이 있는지 확인합니다.

남아 있는 사용자 클러스터 VM이 있는 경우 각 VM에 대해 다음 단계를 수행합니다.

  1. vSphere Web Client에서 사용자 클러스터 VM을 마우스 오른쪽 버튼으로 클릭하고 전원 > 전원 끄기를 선택합니다.
  2. VM이 종료되면 마우스 오른쪽 버튼으로 VM을 클릭하고 디스크에서 삭제를 선택합니다.

사용자 클러스터의 F5 파티션 정리

사용자 클러스터의 파티션에 남아 있는 항목이 있으면 다음 단계를 수행합니다.

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

완료 후

gkectl로 사용자 클러스터 삭제를 완료한 후 사용자 클러스터의 kubeconfig를 삭제할 수 있습니다.

문제 해결

자세한 내용은 문제 해결을 참조하세요.

gkectl을 사용하여 클러스터 문제 진단

gkectl diagnose 명령어를 사용하여 클러스터 문제를 식별하고 클러스터 정보를 Google과 공유하세요. 클러스터 문제 진단을 참조하세요.

기본 로깅 동작

gkectlgkeadm의 경우 기본 로깅 설정만 사용해도 됩니다.

  • 기본적으로 로그 항목은 다음과 같이 저장됩니다.

    • gkectl의 기본 로그 파일은 /home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log이며 파일은 gkectl을 실행하는 로컬 디렉터리의 logs/gkectl-$(date).log 파일과 심볼릭 링크됩니다.
    • gkeadm의 경우 기본 로그 파일은 gkeadm을 실행하는 로컬 디렉터리의 logs/gkeadm-$(date).log입니다.
  • 모든 로그 항목은 터미널에서 출력되지 않더라도 로그 파일에 저장됩니다(--alsologtostderrfalse인 경우).
  • -v5 세부정보 수준(기본값)에는 지원팀에 필요한 모든 로그 항목이 포함됩니다.
  • 로그 파일에는 실행된 명령어와 실패 메시지도 포함되어 있습니다.

도움이 필요한 경우 로그 파일을 지원팀에 보내는 것이 좋습니다.

로그 파일에 기본값이 아닌 위치 지정

gkectl 로그 파일에 기본값이 아닌 위치를 지정하려면 --log_file 플래그를 사용합니다. 지정한 로그 파일은 로컬 디렉터리와 심볼릭 링크되지 않습니다.

gkeadm 로그 파일에 기본값이 아닌 위치를 지정하려면 --log_file 플래그를 사용합니다.

관리자 클러스터에서 Cluster API 로그 찾기

관리자 제어 영역이 시작된 후에 VM을 시작하지 못하는 경우 다음 안내에 따라 관리자 클러스터에서 Cluster API 컨트롤러의 로그를 검사하여 디버깅할 수 있습니다.

  1. kube-system 네임스페이스에서 Cluster API 컨트롤러 pod의 이름을 찾습니다. 여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일 경로입니다.

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
  2. pod의 로그를 엽니다. 여기서 [POD_NAME]은 pod 이름입니다. 원하는 경우 grep 또는 유사한 도구를 사용하여 오류를 검색할 수 있습니다.

    kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager