如何在没有can-init的情况下集群coreos实例

时间:2017-02-25 12:19:44

标签: coreos etcd

所以我在没有用户数据/ cloud-config的情况下在aws上创建了三个coreos(容器linux)实例。

我这样做是因为我的理解是cloud-config仅用于设置服务和ssh-keys等,我想通过其他方式来实现。

现在我想知道如何将这三个单独的实例转换为集群,以便一次更新一次

基本上我的问题实质上是在coreos中将单独的实例变成集群的必要条件是什么?

1 个答案:

答案 0 :(得分:0)

最简单的方法就是销毁并重新创建机器。一旦你让它正常工作,使用cloud-init就可以轻松实现这一点。

下一个最好的方法是使用etcd群集配置为每台机器写出一个systemd“drop in”。您需要将标志from this example翻译成env vars(它们遵循相同的格式)并将这些env变量包含在内容中。

示例如下:

<强> /etcd/systemd/system/etcd2.service.d/10-clustering.conf

[Service]
Environment=ETCD_LISTEN_PEER_URLS=http://10.0.0.1:2380
Environment=ETCD_<insert others>
...

应用这些后,运行sudo systemctl daemon-reload以获取更改,然后sudo systemctl restart etcd2。您可以检查您的更改是否在etcd日志中正确选取(它记录了所有检测到的环境变量)和systemctl cat etcd2,这应列出您的下载。