現在、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
また、stout/stderr へのロギングに関して、ロケットで etcd を実行するといくつかの問題があることもわかりました。このことをどのようにデバッグすれば、何が起こっているのかがわかります。ロケットいじり初日!ありがとう!
私が得ているエラー
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.