docker – 通过systemd启用CoreOS中的etcd服务自动启动

我已经使用VMware映像部署了CoreOS standealone服务器,请遵循此guide以体验CoreOS.

部署成功后,我发现我的CoreOS只启用了Docker服务,没有运行etcd和fleet服务.虽然我知道如何使用systemd手动运行etcd和fleet服务.而且我也知道使用合适的cloud-config可以安装CoreOS,其中etcd和fleet服务自动启动.

但我想知道:

>是否可以在/ etc / systemd / system中放置一个单元文件以使systemd自动启动etcd服务?
>如果可以,单位文件的内容是什么?
>如果不能,另一种方式是什么?

谢谢

最佳答案
>是的.您必须有一个带有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管理.

转载注明原文:docker – 通过systemd启用CoreOS中的etcd服务自动启动 - 代码日志