397 liens privés
à l'arrache:
gem install fpm # https://jeekajoo.eu/links/?sj8xXQ
wget https://releases.hashicorp.com/consul/0.6.3/consul_0.6.3_linux_amd64.zip
unzip -o consul_0.6.3_linux_amd64.zip
fpm --force --verbose -s dir -t deb -n consul -v 0.6.3 --url=http://consul.io --vendor=HashiCorp --description "A distributed service discovery tool" ./consul=/usr/local/bin/consul
uploadé ici: https://packagecloud.io/jeekajoo/consul/packages/debian/jessie/consul_0.6.3_amd64.deb
Cette doc explique comment enregistrer un service consul externe, dixit: vers une machine qui ne possède pas consul.
On fait donc un appel via l'API. Je vous mets la syntaxe avec l'utilisation de tags:
"""
$ curl -X PUT -d '{"Datacenter": "dc1", "Node": "foo", "Address": "8.8.8.8", "Service": {"Service": "mon-super-service", "Tags": ["active"]}}' http://127.0.0.1:8500/v1/catalog/register
"""
Vérification depuis n'importe quel membre consul:
"""
$ dig +short active.mon-super-service.service.consul
8.8.8.8
$ dig +short mon-super-service.service.consul
8.8.8.8
"""
Très pratique quand on utilise consul généralement pour une infra.
Pour l'instant j'utilise cela de manière transitoire, le temps de migrer un serveur.
Un howto qui explique comment gèrer la crise dans le cas d'un cluster consul down.
Méthode de résolution pas très rapide car il s'agit de trouver quels nodes sont down.
Ma méthode crade/rapide à l'aide de saltstack:
"""
salt * cmd.run 'rm -v /var/cache/consul/raft/peers.json'
salt * service.restart consul
"""
consul && consul-template && docker