现在我正在使用 systemd 来运行带有本地二进制文件的 Etcd。我想用 rkt 运行 etcd,仍然通过 systemd,所以我不需要使用二进制服务“手动”下载二进制文件。
# /etc/systemd/system/etcd2.service
[Unit]
After=binaries.service
Requires=binaries.service
[Service]
User=core
Type=notify
EnvironmentFile=/home/core/environment
ExecStart=/opt/bin/etcd
Restart=always
LimitNOFILE=40000
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
我想做类似的事情。这是正确的吗?有什么我想念的吗?
# /etc/systemd/system/etcd2.service
[Unit]
# Wait for networking
Requires=network-online.target
After=network-online.target
[Service]
User=core
Type=notify
EnvironmentFile=/home/core/environment
ExecStart==/usr/bin/rkt run --inherit-env --port=http:2380 --port=http:2379 quay.io/coreos/etcd:v2.3.3
Restart=always
LimitNOFILE=40000
TimeoutStartSec=0
[Install]
WantedBy=multi-user.target
我还发现 etcd 在火箭运行时存在一些关于记录到 stout/stderr 的问题。我将如何调试这个东西,所以我知道发生了什么。第一天搞砸火箭!谢谢!
我得到的错误
Sep 21 18:08:04 master systemd[1]: etcd2.service: Unit entered failed state.
Sep 21 18:08:04 master systemd[1]: etcd2.service: Failed with result 'exit-code'.
Sep 21 18:08:04 master systemd[1]: etcd2.service: Service hold-off time over, scheduling restart.
Sep 21 18:08:04 master systemd[1]: Stopped etcd2.service.
Sep 21 18:08:04 master systemd[1]: etcd2.service: Start request repeated too quickly.
Sep 21 18:08:04 master systemd[1]: Failed to start etcd2.service.