CoreOS를 사용하여 시스템 단위를 플릿으로 예약합니다. 나는 두 단위가 ( firehose.service
그리고 firehose-announce.service
내가 얻을 노력하고 있어요. firehose-announce.service
시작과 함께 중지 firehose.service
여기에 대한 유닛 파일입니다. firehose-announce.service
:
[Unit]
Description=Firehose etcd announcer
BindsTo=firehose@%i.service
After=firehose@%i.service
Requires=firehose@%i.service
[Service]
EnvironmentFile=/etc/environment
TimeoutStartSec=30s
ExecStartPre=/bin/sh -c 'sleep 1'
ExecStart=/bin/sh -c "port=$(docker inspect -f '{{range $i, $e := .NetworkSettings.Ports }}{{$p := index $e 0}}{{$p.HostPort}}{{end}}' firehose-%i); echo -n \"Adding socket $COREOS_PRIVATE_IPV4:$port/tcp to /firehose/upstream/firehose-%i\"; while netstat -lnt | grep :$port >/dev/null; do etcdctl set /firehose/upstream/firehose-%i $COREOS_PRIVATE_IPV4:$port --ttl 300 >/dev/null; sleep 200; done"
RestartSec=30s
Restart=on-failure
[X-Fleet]
X-ConditionMachineOf=firehose@%i.service
BindsTo
시작 및 중지 firehose.service
시작 또는 중지 개념 을 사용하려고합니다 firehose-announce.service
. 그러나 이것은 결코 올바르게 일어나지 않습니다. 경우 firehose.service
정지 후 firehose-announce.service
실패 상태로 이동합니다. 내가 시작할 때 firehose.service
의가 firehose-announce.service
시작되지 않습니다.
내가 여기서 뭘 잘못하고 있니?