2014-11-25 54 views
3

我想重新啓動我的CoreOS集羣節點,因爲我一次讀取重啓所有節點的許多不好的事情都不好(etcd,ceph無法保持法定等等),這樣做的正確方法是什麼,除了手動進入每臺機器併發出reboot命令?如何正確重啓CoreOS羣集?

是否有一種通用的方式來重新啓動羣集中的n個節點,等待它們啓動,然後又一組n個節點,直到所有節點都重新啓動?

謝謝。

回答

3

在雲config.yaml文件,你可以添加:

coreos: 
    update: 
    reboot-strategy: etcd-lock 

這意味着集羣中的機器將重新啓動,以確保沒有更多然後1號機每次重新啓動之前獲得鎖。請參閱文檔以獲取更多信息: https://coreos.com/docs/cluster-management/setup/update-strategies/

+2

感謝您的回覆。我知道這個雲配置設置。但是,你如何真正地通過節點重新啓動羣集節點,希望通過一個命令而不是ssh進入,然後發出'sudo locksmithctl reboot'命令? – 2014-11-25 11:55:54

+1

要在每臺機器上自動執行ssh來發出命令,我建議你使用Fabric。一年後的 – emassa 2014-11-25 12:32:34

+0

這仍然是一個好主意! – Richard 2015-09-25 14:55:51

1

鎖匠是重新引導CoreOS節點的守護程序。我建議要挑ETCD鎖重啓策略:

coreos: 
    update: 
    reboot-strategy: etcd-lock 

默認情況下,這將由1.我使用fleetctl遠程控制我的CoreOS集羣重啓集羣1。這個腳本會重啓信號發送到所有的機器集羣中:

#!/bin/bash -x 

for machine in $(fleetctl list-machines --no-legend --full | awk '{ print $1;}'); do 
     fleetctl ssh $machine "sudo locksmithctl reboot" 
done 

如果重啓策略是ETCD-鎖定節點不會立即重啓。它們將一個一個地重新啓動,直到整個羣集重新啓動。

相關問題