web-dev-qa-db-ja.com

サービスファイルを定義するときに「=」などがありません

Kelsey Hightowerの「Kubernetes the Hard Way」チュートリアルに従っている間、私は苦労しています。ローカルサーバーでbootstrap k8sを実行しようとしているため、スクリプトを中止しました。

Etcdをブートストラップしているところですが、サービスを作成しているときにエラーが発生します。

Failed to start etcd.service: Unit is not loaded properly: Bad message.
See system logs and 'systemctl status etcd.service' for details.

ログを確認すると、次のようになります。

Jun 21 20:16:49 controller-0 systemd[1]: [/etc/systemd/system/etcd.service:9] Missing '='.
Jun 21 20:16:49 controller-0 systemd[1]: [/etc/systemd/system/etcd.service:9] Missing '='.
Jun 21 20:17:25 controller-0 systemd[1]: [/etc/systemd/system/etcd.service:9] Missing '='.

次にetcd.serviceファイルを示します。

[Unit]
Description=etcd service
Documentation=https://github.com/coreos/etcd

[Service]
User=etcd
Type=notify
ExecStart=/usr/local/bin/etcd \\
 --name ${ETCD_NAME} \\
 --data-dir /var/lib/etcd \\
 --initial-advertise-peer-urls http://${ETCD_Host_IP}:2380 \\
 --listen-peer-urls http://${ETCD_Host_IP}:2380 \\
 --listen-client-urls http://${ETCD_Host_IP}:2379,http://127.0.0.1:2379 \\
 --advertise-client-urls http://${ETCD_Host_IP}:2379 \\
 --initial-cluster-token etcd-cluster-1 \\
 --initial-cluster etcd-1=http://192.168.0.7:2380 \\
 --initial-cluster-state new \\
 --heartbeat-interval 1000 \\
 --election-timeout 5000
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
2
Baron

答えは@Michael Hamptonによって指摘されました。 2つの円記号は、コードがターミナルから(ガイド内で)記述されることになっていたためです。 etcd.serviceファイルでは、行は単一ので区切る必要があります。

[Unit]
Description=etcd service
Documentation=https://github.com/coreos/etcd

[Service]
User=etcd
Type=notify
ExecStart=/usr/local/bin/etcd \
 --name ${ETCD_NAME} \
 --data-dir /var/lib/etcd \
 --initial-advertise-peer-urls http://${ETCD_Host_IP}:2380 \
 --listen-peer-urls http://${ETCD_Host_IP}:2380 \
 --listen-client-urls http://${ETCD_Host_IP}:2379,http://127.0.0.1:2379 \
 --advertise-client-urls http://${ETCD_Host_IP}:2379 \
 --initial-cluster-token etcd-cluster-1 \
 --initial-cluster etcd-1=http://192.168.0.7:2380 \
 --initial-cluster-state new \
 --heartbeat-interval 1000 \
 --election-timeout 5000
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
2
Baron