现在,我使用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的issues。我该如何调试这个东西,这样我才能知道发生了什么。摆弄火箭的第一天!谢谢!
我得到的错误
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.
发布于 2016-09-22 03:31:24
如果您正在运行CoreOS,那么有一个' etcd -wrapper‘脚本和'etcd-wrapper.service’systemd单元可以执行此操作(从rkt容器运行etcd)。
在撰写本文时,包装器和单元文件仅在CoreOS beta (1153.4.0)和alpha (1164.1.0)中提供。
如果您正在运行不同的版本,或者根本没有运行CoreOS -您可以直接从:https://github.com/coreos/coreos-overlay/tree/master/app-admin/etcd-wrapper/files获取脚本
包装器脚本仍然处于alpha/beta状态--但这应该是一个很好的起点。
https://stackoverflow.com/questions/39620683
复制相似问题