我已经部署了带有VMware映像的CoreOS standealone服务器,请按此guide体验CoreOS。
部署成功后,我发现我的CoreOS只启用了Docker服务,没有运行etcd和fleet服务。虽然我知道如何使用systemd手动运行etcd和fleet服务。而且我也知道使用合适的cloud-config可以安装CoreOS,其中etcd和fleet服务自动启动。
但我想知道:
/etc/systemd/system
中放置单元文件以自动启动systemd服务?由于
答案 0 :(得分:5)
是。您必须有一个带有Install部分的etcd.service和fleet.service。我在我的网站上添加了WantedBy = default.target。
它们已经放在/ 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 '[Install]\nWantedBy=default.target >> /etc/systemd/system/fleet.service $ echo -e '[Install]\nWantedBy=default.target >> /etc/systemd/system/etcd.service $ systemctl enable etcd.service $ systemctl enable fleet.service
我还会在这里给出一般性警告,鉴于CoreOSs升级系统,我不知道从长远来看对/ etc / systemd /做了什么更改。升级可能会消除/ etc / systemd /使您处于困惑状态,因为您的自定义系统脚本发生了什么,而不是由cloud-init管理。
答案 1 :(得分:2)
执行此操作的正确方法是使用cloud-config。特别是对于VMware,您需要通过config-drive提供的云配置服务。
这是一种痛苦,但它会起作用。