2014-11-25 36 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-锁定节点不会立即重启。它们将一个一个地重新启动,直到整个群集重新启动。

相关问题