4

我已经部署了一个带有 VMware 映像的 CoreOS 独立服务器,请按照本指南体验 CoreOS。

部署成功后,发现我的CoreOS只启用了Docker服务,没有运行etcd和fleet服务。虽然我知道如何使用 systemd 手动运行 etcd 和队列服务。而且我也知道使用适当的云配置可以安装 CoreOS,其中 etcd 和队列服务会自动启动。

但我想知道:

  1. 是否可以放置一个单元文件/etc/systemd/system以使 systemd 自动启动 etcd 服务?
  2. 如果可以,单元文件的内容是什么?
  3. 如果不能,还有什么办法?

谢谢

4

2 回答 2

5
  1. 是的。你必须有一个带有安装部分的 etcd.service 和fleet.service。我在我的中添加了 WantedBy=default.target。

  2. 它们已经放置在 /usr/lib64/systemd/system/ 中的 coreos 系统上。您可以将它们复制到 /etc/systemd/system/:

$ cp /usr/lib64/systemd/system/etcd.service /etc/systemd/system/
$ cp /usr/lib64/systemd/system/fleet.service /etc/systemd/system/
$ echo -e '[安装]\nWantedBy=default.target >> /etc/systemd/system/fleet.service
$ echo -e '[安装]\nWantedBy=default.target >> /etc/systemd/system/etcd.service
$ systemctl 启用 etcd.service
$ systemctl 启用fleet.service

我也会在这里给你一个一般性的警告,我不知道 /etc/systemd/ 从长远来看会发生什么变化,因为 CoreOSs 升级系统。升级可能会清除 /etc/systemd/,让您对未由 cloud-init 管理的自定义 systemd 脚本发生了什么感到困惑。

于 2014-11-06T21:19:46.870 回答
2

正确的方法是使用cloud-config。特别是对于 VMware,您需要按照文档中的说明通过配置驱动器提供云配置。

这有点痛苦,但它会起作用。

于 2014-11-05T21:17:12.933 回答