2016-12-26 1 views
0

GKE의 Kubernetes 클러스터에서 노드를 줄이는 데 좋은 방법이 궁금합니다.GKE의 Kubernetes 클러스터에서 정상적으로 동작하는 노드 (VM)를 줄이는 방법?

각 노드에는 공유 작업 대기열을보고 작업을 실행하는 일부 노드가 있습니다. gcloud compute instance-groups managed resize 명령을 실행하여 작업 대기열의 길이를 모니터하고 길이가 임계 값을 초과 할 경우 인스턴스 수를 늘리는 스크립트도 있는데 제대로 작동합니다.

그러나 길이가 임계 값 아래로 떨어질 때 인스턴스의 수를 줄이는 우아한 방법을 모르겠습니다.

인스턴스가 종료되기 전에 종료 인스턴스에서 작업하는 포드를 중지하는 좋은 방법이 있습니까? 또는 다른 좋은 습관? 작업이 한 번 이상 실행됩니다 경우

각 작업은 30m와 1 시간 사이에 주변에 걸릴 수

  • 참고
+1

는 소리 autoscaler] (https://cloud.google.com/container-engine/docs/cluster-autoscaler)에 사용자 정의 정책을 적용하십시오. –

+0

물론입니다. 준비가 될 때까지 해킹이 필요합니다. –

답변

1

I (최악의 경우 ...) 허용 최선의 방법은 포드를 사용하여 작업을 실행하는 대신 kubernetes 작업 객체를 사용하는 것입니다. 그런 식으로 작업이 완료되면 작업이 컨테이너를 종료합니다. 대기열을 기반으로 kubernetes 작업을 시작할 수있는 작은 창만 있으면됩니다.

더 많은 kube 작업이 생성 될수록 더 많은 리소스가 소비되고 클러스터 자동 스케일러는 더 많은 노드를 추가해야 함을 알게됩니다. kube 작업이 종료 되더라도 완료해야합니다. 다시 완료하도록 예약됩니다.

작업이 노드에서 실행 중일 때 크기 축소가 발생할지 여부는 GKE 문서에 직접적인 정보가 없지만 포드를 다른 노드로 쉽게 이동할 수 있고 리소스가 부족한 경우, 그것을 활용하면 노드가 고갈됩니다. 당신이 [clust의 일부 변형을 원하는처럼

Refrences

+0

좋은 아이디어에 감사드립니다 !! –