2016-12-26 39 views
0

我想知道在GKE上減少Kubernetes集羣中節點的優雅方式。如何減少在GKE的Kubernetes集羣中正常運行的節點(vm)?

我有一些節點,每個節點都有一些莢觀看共享作業隊列並執行作業。我還有一個腳本,它監視作業隊列的長度,並通過執行gcloud compute instance-groups managed resize命令來增加長度超過閾值的實例數量,並且它工作正常。

但我不知道優雅的方式來減少長度低於閾值時的實例數量。

有沒有什麼好方法可以在實例終止之前停止工作在終止實例上的pod?或任何其他良好做法?

  • 每個作業可以30米,1H之間需要大約
  • 如果作業被執行一次以上,是可以接受的(在最壞的情況下...)
+1

聽起來像是你想要的[clust的一些變種er autoscaler](https://cloud.google.com/container-engine/docs/cluster-autoscaler)與自定義政策。 –

+0

絕對。似乎需要一些黑客,直到它準備就緒。 –

回答

1

我認爲最好的方法不是使用pod來運行任務,而是使用kubernetes作業對象。這樣當任務完成時,作業終止容器。您只需要一個可以基於隊列啓動kubernetes作業的小型pod。

創建的kube作業越多,將消耗的資源就越多,並且集羣自動縮放器將會看到它需要添加更多節點。一個kube作業需要完成,即使它被終止,它也會被重新計劃完成。

有大約如果作業的節點上運行的縮減是否會發生GKE文檔沒有直接的信息,但規定似乎是,如果一個吊艙可以很容易地移動到另一個節點和資源不足利用它將消耗節點。

Refrences

+0

謝謝你的好主意! –

相關問題