This is a temporary workaround to have a customized etcd configuration.
sudo mkdir /media/state/overlays/var/lib/etcd-local
sudo chown etcd:etcd /media/state/overlays/var/lib/etcd-local
Create a file called /media/state/units/etcd-local.service that has the following contents:
NOTE: You need to substitute the other cluster members into the $OTHER_CLUSTER_IPS variable in this file. Also the 127.0.0.1 addresses should change to your actual public IP if you want to cluster over the internet.
[Unit]
Description=etcd local
[Service]
User=etcd
PermissionsStartOnly=true
ExecStartPre=/usr/bin/systemctl kill etcd.service
ExecStart=/usr/bin/etcd -name myhost -data-dir /var/lib/etcd-local -bind-addr 0.0.0.0 -addr 127.0.0.1:4001 -peer-bind-addr 0.0.0.0 -peer-addr 127.0.0.1:7001 -peers $OTHER_CLUSTER_IPS
Restart=always
# Set a longish timeout in case this machine isn't behaving
# nicely and bothering the rest of the cluster
RestartSec=10s
[Install]
WantedBy=local.target
To bootstrap the cluster run one node manually in an ssh session like so sudo -u etcd /usr/bin/etcd -name myhost -data-dir /var/lib/etcd-local -bind-addr 0.0.0.0 -addr 127.0.0.1:4001 -peer-bind-addr 0.0.0.0 -peer-addr 127.0.0.1:7001 then start the other two machines via systemctl as outlined before.
sudo systemctl restart local-enable.service
Have fun!