如何正确重新启动CoreOS群集?

时间:2014-11-25 02:34:32

标签: cluster-computing coreos

我想逐个重新启动我的CoreOS集群节点,因为我读了很多不好的事情,一次重启所有节点都不好(等等,ceph无法保持法定人数等等)正确的做法是什么这个,除了手动进入每台机器并发出reboot命令?

是否有一种通用的方法来重新启动集群中的n个节点,等待它们启动,然后是另一组n个节点,直到所有节点重新启动?

谢谢。

2 个答案:

答案 0 :(得分:3)

在cloud-config.yaml文件中,您可以添加:

coreos:
  update:
    reboot-strategy: etcd-lock

这意味着群集中的计算机将在重新引导之前获取锁定,以确保每次重启不超过1台计算机。有关其他信息,请参阅文档: https://coreos.com/docs/cluster-management/setup/update-strategies/

答案 1 :(得分:1)

Locksmith是重启CoreOS节点的守护进程。我建议选择etcd-lock重启策略:

coreos:
  update:
    reboot-strategy: etcd-lock

默认情况下,这会将群集1重新启动1.我使用fleetctl来远程控制我的CoreOS群集。此脚本将重新启动信号发送到群集中的所有计算机:

#!/bin/bash -x

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

如果您的reboot-strategy是etcd-lock,则节点不会立即重启。它们将逐个重新启动,直到整个群集重新启动。