이 페이지에서는 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이 삭제되었는지 확인하려면 다음 단계를 수행합니다.
- vSphere Web Client의 왼쪽 탐색기 메뉴에서 호스트 및 클러스터 메뉴를 클릭합니다.
- 리소스 풀을 찾습니다.
- 사용자 클러스터의 이름이 프리픽스로 붙은 VM이 있는지 확인합니다.
남아 있는 사용자 클러스터 VM이 있는 경우 각 VM에 대해 다음 단계를 수행합니다.
- vSphere Web Client에서 사용자 클러스터 VM을 마우스 오른쪽 버튼으로 클릭하고 전원 > 전원 끄기를 선택합니다.
- VM이 종료되면 마우스 오른쪽 버튼으로 VM을 클릭하고 디스크에서 삭제를 선택합니다.
사용자 클러스터의 F5 파티션 정리
사용자 클러스터의 파티션에 남아 있는 항목이 있으면 다음 단계를 수행합니다.
- F5 BIG-IP 콘솔의 콘솔 오른쪽 상단 구석에서 정리하려는 사용자 클러스터 파티션으로 전환합니다.
- 로컬 트래픽 > 가상 서버 > 가상 서버 목록을 선택합니다.
- 가상 서버 메뉴에서 모든 가상 IP를 삭제합니다.
- 풀을 선택한 다음 모든 풀을 삭제합니다.
- 노드를 선택한 후 모든 노드를 삭제합니다.
완료 후
gkectl
로 사용자 클러스터 삭제를 완료한 후 사용자 클러스터의 kubeconfig를 삭제할 수 있습니다.
문제 해결
자세한 내용은 문제 해결을 참조하세요.
gkectl
을 사용하여 클러스터 문제 진단
gkectl diagnose
명령어를 사용하여 클러스터 문제를 식별하고 클러스터 정보를 Google과 공유하세요. 클러스터 문제 진단을 참조하세요.
기본 로깅 동작
gkectl
및 gkeadm
의 경우 기본 로깅 설정만 사용해도 됩니다.
-
기본적으로 로그 항목은 다음과 같이 저장됩니다.
gkectl
의 기본 로그 파일은/home/ubuntu/.config/gke-on-prem/logs/gkectl-$(date).log
이며 파일은gkectl
을 실행하는 로컬 디렉터리의logs/gkectl-$(date).log
파일과 심볼릭 링크됩니다.gkeadm
의 경우 기본 로그 파일은gkeadm
을 실행하는 로컬 디렉터리의logs/gkeadm-$(date).log
입니다.
- 모든 로그 항목은 터미널에서 출력되지 않더라도 로그 파일에 저장됩니다(
--alsologtostderr
가false
인 경우). -v5
세부정보 수준(기본값)에는 지원팀에 필요한 모든 로그 항목이 포함됩니다.- 로그 파일에는 실행된 명령어와 실패 메시지도 포함되어 있습니다.
도움이 필요한 경우 로그 파일을 지원팀에 보내는 것이 좋습니다.
로그 파일에 기본값이 아닌 위치 지정
gkectl
로그 파일에 기본값이 아닌 위치를 지정하려면 --log_file
플래그를 사용합니다. 지정한 로그 파일은 로컬 디렉터리와 심볼릭 링크되지 않습니다.
gkeadm
로그 파일에 기본값이 아닌 위치를 지정하려면 --log_file
플래그를 사용합니다.
관리자 클러스터에서 Cluster API 로그 찾기
관리자 제어 영역이 시작된 후에 VM을 시작하지 못하는 경우 다음 안내에 따라 관리자 클러스터에서 Cluster API 컨트롤러의 로그를 검사하여 디버깅할 수 있습니다.
kube-system
네임스페이스에서 Cluster API 컨트롤러 pod의 이름을 찾습니다. 여기서 [ADMIN_CLUSTER_KUBECONFIG]는 관리자 클러스터의 kubeconfig 파일 경로입니다.kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system get pods | grep clusterapi-controllers
pod의 로그를 엽니다. 여기서 [POD_NAME]은 pod 이름입니다. 원하는 경우
grep
또는 유사한 도구를 사용하여 오류를 검색할 수 있습니다.kubectl --kubeconfig [ADMIN_CLUSTER_KUBECONFIG] -n kube-system logs [POD_NAME] vsphere-controller-manager