이 문서에서는 Google Distributed Cloud (GDC) 에어 갭에서 가상 머신 (VM) 인스턴스를 시작, 중지, 다시 시작하는 방법을 설명합니다.
애플리케이션의 수명 주기를 지원하기 위해 VM을 중지, 시작, 다시 시작할 수 있습니다. 예를 들어 할당된 가상 중앙 처리 장치 (vCPU) 수 또는 VM에 할당된 메모리 양을 변경해야 할 수 있습니다. 구성을 수정하기 전에 VM을 중지해야 합니다. 완료 후 전원을 껐다 켜서 변경사항을 적용해야 합니다.
이 문서는 Distributed Cloud 환경에서 VM 인스턴스를 시작, 중지, 다시 시작해야 하는 플랫폼 관리자 또는 애플리케이션 운영자 그룹의 개발자를 대상으로 합니다. 자세한 내용은 GDC 에어 갭 문서 대상을 참조하세요.
시작하기 전에
gdcloud 명령줄 인터페이스 (CLI) 명령어를 사용하려면 gdcloud CLI를 다운로드, 설치, 구성했는지 확인합니다.
Distributed Cloud의 모든 명령어는 gdcloud 또는 kubectl CLI를 사용하며 운영체제 (OS) 환경이 필요합니다.
kubeconfig 파일 경로 가져오기
Management API 서버에 대해 명령어를 실행하려면 다음 리소스가 있어야 합니다.
kubeconfig 파일이 없는 경우 Management API 서버의 kubeconfig 파일을 로그인하고 생성합니다.
Management API 서버의 kubeconfig 파일 경로를 사용하여 이 안내의
MANAGEMENT_API_SERVER를 바꿉니다.
VM 시작 시간을 최소화하려면 VM을 시작하기 전에 VM 시작 시간 최소화 의 안내를 따르세요.
IAM 역할 요청
IAM 프로젝트 관리자에게 연락하여 프로젝트에 대한 다음 역할을 요청하세요.
가상 머신 프로젝트 관리자 (
project-vm-admin): 프로젝트 네임스페이스에서 VM을 만들고, 수정하고, 나열하고, 삭제합니다.프로젝트 뷰어(
project-viewer): 프로젝트 네임스페이스 내의 모든 리소스를 볼 수 있습니다.
모든 VM 역할은 VM이 있는 프로젝트의 네임스페이스에 바인딩되어야 합니다. 단계에 따라 액세스 권한을 확인합니다.
VM 중지
가상 머신 (VM)을 중지하면 하이퍼바이저가 인스턴스와 연결된 모든 리소스를 할당 해제합니다. VM이 종료됩니다.
GDC 콘솔 또는 kubectl를 사용하여 실행 중인 상태의 VM을 중지합니다.
콘솔
탐색 메뉴에서 가상 머신 > 인스턴스를 클릭합니다.
VM 목록에서 중지하려는 실행 중인 VM의 체크박스를 선택합니다.
중지를 클릭합니다.
확인 대화상자에서 중지를 클릭합니다.
gdcloud
VM을 중지하려면 다음 안내를 따르세요.
gdcloud compute instances stop VM_NAME \
--project PROJECT
VM_NAME을 VM의 이름으로 바꿉니다.PROJECT을 VM이 있는 GDC 프로젝트의 이름으로 바꿉니다.
kubectl
다음 명령어를 실행합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMEVM의
spec에서runningState필드를 찾아 필드 값을Stopped로 변경합니다.runningState가spec에 없으면runningState를spec에 추가하고 값을Stopped로 설정합니다.spec: runningState: StoppedVM 상태를 확인합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAME위 변수에 대한 정의를 사용합니다.
변수 정의 MANAGEMENT_API_SERVER_KUBECONFIGManagement API 서버 kubeconfig 파일입니다. VM_NAMEVM의 이름입니다. PROJECTVM의 프로젝트 이름입니다.
VM 시작
콘솔 또는 kubectl를 사용하여 중지된 상태에서 VM을 시작합니다.
콘솔
탐색 메뉴에서 가상 머신 > 인스턴스를 클릭합니다.
VM 목록에서 시작하려는 중지된 VM의 체크박스를 선택합니다.
시작을 클릭합니다.
확인 대화상자에서 시작을 클릭합니다.
gdcloud
VM을 시작하려면 다음 안내를 따르세요.
gdcloud compute instances start VM_NAME --project PROJECT
VM_NAME을 VM의 이름으로 바꿉니다.PROJECT을 VM이 있는 GDC 프로젝트의 이름으로 바꿉니다.
kubectl
다음 명령어를 실행합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ edit virtualmachines.virtualmachine.gdc.goog VM_NAMEVM의
spec에서runningState필드를 찾아 필드 값을Running로 변경합니다.spec: runningState: RunningVM 상태를 확인합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAME예시 코드에서 변수에 대한 다음 정의를 사용합니다.
변수 정의 MANAGEMENT_API_SERVER_KUBECONFIGManagement API 서버 kubeconfig 파일입니다. MANAGEMENT_API_SERVER_NAMEManagement API 서버의 이름입니다. VM_NAMEVM의 이름입니다. PROJECTVM의 프로젝트 이름입니다.
VM 다시 시작
VM을 다시 시작하면 머신이 초기 상태로 재설정되고 머신의 메모리 콘텐츠가 완전 삭제됩니다.
콘솔 또는 kubectl를 사용하여 실행 중인 상태의 VM을 다시 시작합니다.
콘솔
탐색 메뉴에서 가상 머신 > 인스턴스를 클릭합니다.
VM 목록에서 다시 시작하려는 실행 중인 VM의 체크박스를 선택합니다.
재설정을 클릭합니다.
확인 대화상자에서 재설정을 클릭합니다.
gdcloud
VM을 재설정하려면 다음 안내를 따르세요.
gdcloud compute instances reset VM_NAME --project PROJECT
VM_NAME을 VM의 이름으로 바꿉니다.PROJECT을 VM이 있는 GDC 프로젝트의 이름으로 바꿉니다.
kubectl
Management API 서버에 대한 로컬 프록시를 시작합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG proxy --port=8001 & PROXY_PID=$!MANAGEMENT_API_SERVER_KUBECONFIG를 Management API 서버 kubeconfig 파일로 바꿉니다.프록시를 통해 VM을 다시 시작하는 API 요청을 수행합니다.
curl -s -i -X PUT \ http://127.0.0.1:8001/apis/virtualmachineoperations.gdc.goog/v1/namespaces/PROJECT/virtualmachines/VM_NAME/restart | head -n 1- VM_NAME을 VM의 이름으로 바꿉니다.
- PROJECT을 VM이 있는 GDC 프로젝트의 이름으로 바꿉니다.
요청에 성공하면
HTTP/1.1 202 Accepted가 반환됩니다.프록시를 중지합니다.
kill $PROXY_PIDVM 상태를 확인합니다.
kubectl --kubeconfig MANAGEMENT_API_SERVER_KUBECONFIG \ -n PROJECT \ get virtualmachines.virtualmachine.gdc.goog VM_NAME