2016-03-02 60 views
6

我想放大/縮小機器數量來增加/減少我的Kubernetes羣集中的節點數量。當我添加一臺機器時,我可以成功註冊Kubernetes;因此,按預期創建了一個新節點。但是,我不清楚如何順利關閉機器。一個好的工作流程將是:如何從Kubernetes中正常刪除節點?

  1. 將與我要關閉的機器相關的節點標記爲不可調度的;
  2. 開始在其他節點中的節點中運行的pod;
  3. 完美地刪除節點中正在運行的pod;
  4. 刪除節點。

如果我理解正確的,甚至kubectl draindiscussion)沒有做什麼,我希望,因爲它沒有刪除前啓動豆莢(它依賴一個複製控制器開始莢之後這可能會導致停機時間)。我錯過了什麼嗎?

我應該如何正確關閉機器?

回答

1

拉斐爾。 kubectl drain的確如你所描述的那樣工作。有一些停機時間,就好像機器崩潰一樣。

你能描述你的設置嗎?您擁有多少副本,並且是否預配置了這樣的副本,以致無法處理單個副本的任何停機時間?

+0

目前,我正在一個單獨的環境中評估Kubernetes,其中有一堆具有不同應用程序/豆莢的EC2實例。我明白我不應該將應用程序作爲單個副本運行。但是我也不會爲每個應用程序運行大量的副本;因此,丟失一個副本會影響應用程序的總體容量。儘管我最終可以接受這種做法,但我認爲這不是一種合理的方法,如果這是由計劃的行爲引起的,例如縮小機器數(節點數)。 – Rafael

+1

事實證明,只要您設置適當的寬限期,擁有準備好的探測器並正確處理SIGTERM,Kubernetes就會正確執行此操作。 https://github.com/kubernetes/kubernetes/issues/20473涵蓋了類似的問題(從滾動更新的角度)。如果您需要更多細節,請告訴我,我很樂意提供幫助。 –

+0

謝謝。我要去做一些測試。 – Rafael