구글 클라우드의 Spot VM
Spot VM이란 무엇입니까?
Spot VM은 Spot 프로비저닝 모델이 있는 가상 시스템(VM) 인스턴스입니다.현물 가상 기기의 가격은 표준 가상 기기의 가격보다 60-91% 훨씬 낮다.그러나 컴퓨팅 엔진이 다른 작업을 위해 이 자원을 회수해야 할 경우 Spot VM을 선점할 수 있습니다.이 불확실한 선점 시간에는 각 VM에 지정된 종료 작업에 따라 계산 엔진이 스팟 VM을 중지(기본값)하거나 삭제합니다.Spot VM은 과잉 컴퓨팅 엔진 용량이므로 사용에 따라 가용성이 달라집니다.Spot VM은 최소 또는 최대 실행 시간이 없습니다.
워크로드가 허용되지 않고 가능한 VM 선점을 감당할 수 있는 경우 Spot VM은 컴퓨팅 엔진 비용을 크게 낮출 수 있습니다.예를 들어 일괄 처리 작업은 현장 가상 기기에서 실행할 수 있다.만약 그 중 일부 가상 기기가 처리 과정에서 멈추면 작업은 느려지지만 완전히 멈추지는 않을 것이다.스팟 가상 머신은 기존 가상 머신에 추가 부하를 추가하거나 표준 가상 머신에 대한 추가 비용을 지불하지 않고도 배치 작업을 완료합니다.
Spot VM의 한계
Spot 가상 머신의 기능은 표준 가상 머신과 유사하지만 다음과 같은 제한이 있습니다.
어떻게 구글 클라우드에서 스팟 가상기를 만듭니까?
gcloud 도구에서 가상 머신을 만들려면 *gcloud beta compute instances create* 명령을 사용하십시오.Spot VM을 만들려면 -- provisioning model=Spot 플래그를 포함해야 합니다.또는 --instance termination action 플래그를 포함하여 Spot VM의 종료 작업을 지정할 수도 있습니다.
gcloud beta compute instances create my-spot-vm \
--provisioning-model=SPOT \
--instance-termination-action=DELETE
예를 들어 작업을 종료하면 계산 엔진이 VM을 선점할 때 수행할 작업을 중지(기본 비헤이비어) 또는 삭제할 수 있습니다.다른 가상 시스템과 마찬가지로 Spot 가상 시스템은 만들 때부터 시작됩니다.마찬가지로 Spot VM이 중지된 경우 VM을 다시 시작하여 작동을 재개할 수 있습니다.용량만 있으면 선점한 Spot VM을 언제든지 중지 및 재시작할 수 있습니다.자세한 내용은 VM 인스턴스 라이프 사이클을 참조하십시오.
컴퓨팅 엔진이 트랜잭션 인스턴스 그룹(MIG)이나 Google Kubernetes 엔진(GKE) 클러스터에 있는 하나 이상의 Spot VM의 자동 크기 조절을 중지하면 리소스가 다시 사용될 때 해당 클러스터가 다시 시작됩니다.
Spot 가상 머신 식별
gcloud 도구에서 VM을 설명하려면 gcloud beta compute instances descripe 명령을 사용합니다.
gcloud beta compute instances describe my-spot-vm
Spot VM을 설명하는 출력에는 provisioning Model:Spot 필드가 포함되어 있으며 다음과 유사합니다....
scheduling:
...
provisioningModel: spot
instanceTerminationAction: TERMINATION_ACTION
...
여기서 TERMINATION ACTION은 계산 엔진이 VM을 선점할 때 STOP(정지) 또는 DELETE(삭제)를 수행할 수 있음을 나타냅니다.instanceTerminationAction 필드가 없으면 기본 동작은 STOP입니다.Spot VM의 선점 테스트
gcloud 명령을 사용하여 계산 엔진이 Spot VM을 선점했는지 확인
gcloud compute operations list \
--filter="operationType=compute.instances.preempted"
Spot 가상 머신을 사용할 때 고려해야 할 몇 가지
비교적 작은 기계 모양을 선택하다.스팟 가상 기기의 자원은 과잉되고 백업된 구글의 클라우드 용량에서 나온다.기계 유형이 비교적 작은 스팟 VM의 경우 일반적으로 기계 유형이 큰 스팟 VM보다 많은 용량을 얻기 쉽다.미리 정의된 유형 사이의 사용자 정의 기계 유형을 사용하면 더 많은 빈 용량을 얻을 수 있다.예를 들어 n1-standard-64s와 비교하면 48개의 VCPU를 가진 맞춤형 기계 유형의 용량이 더 클 수 있다.
많은 수의 Spot VM이 비정상 시간에 실행됩니다.구글 클라우드 데이터 센터의 부하는 장소와 시간에 따라 다르지만 보통 밤과 주말에 가장 낮다.따라서 야간과 주말은 대형 스팟 가상 머신 클러스터를 실행하기에 가장 좋은 시간이다.
애플리케이션을 내결함성 및 선점 가능하도록 설계합니다.중요한 것은 서로 다른 시점에서 선점 패턴이 바뀔 수 있도록 준비하는 것이다.예를 들어 한 영역에 부분적인 중단이 발생하면 복구 과정에서 이동해야 하는 표준 가상 머신에 공간을 비우기 위해 대량의 현장 가상 머신이 선점될 수 있다.이렇게 작은 시간 내에 우선 구매율은 다른 어느 날과 크게 다르게 보인다.만약 응용 프로그램이 항상 그룹에서 선점이 진행된다고 가정한다면, 이러한 이벤트에 대한 준비가 되어 있지 않을 수도 있습니다.VM을 중지하면 선점 이벤트에서 응용 프로그램의 동작을 테스트할 수 있습니다.
선점된 Spot VM을 다시 만듭니다.Spot VM이 선점된 경우 새 Spot VM을 한 번 또는 두 번 만들고 다시 표준 VM으로 돌아가십시오.요구 사항에 따라 클러스터의 표준 VM과 Spot VM을 결합하여 적절한 속도로 작업을 수행하는 것이 좋습니다.
종료 스크립트를 사용합니다.종료 스크립트를 사용하여 종료 및 선점 알림을 관리합니다. 이 스크립트는 작업의 진행 상황을 처음부터 시작하지 않고 중지된 곳에서 복구할 수 있도록 저장할 수 있습니다.
시간을 내서 본문을 읽어 주셔서 감사합니다.만약 당신이 이것이 유용하다고 생각한다면, 그것을 좋아하고, 공유하고, 평론해 주십시오.
Reference
이 문제에 관하여(구글 클라우드의 Spot VM), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/royrebello/spot-vm-in-google-cloud-1m3m텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)