Attention ceci est mon brouillon avant de faire une belle documentation sur Docker (il y a à boire et à manger).
Maintenant je pense que je vais travailler avec confd et etcd pour faire de la reconfiguration dynamique du serveur HAproxy. L’idée c’est que les etcd informent le confd des changements, et si changement il y a le confd refait le fichier de configuration haproxy.cfg. Puis il relance HAproxy.
Je n’ai pas trouvé de confd sous Oracle Linux 🙁 . C’est dommage car cela paraissait simple il fallait simplement faire des templates /etc/confd/conf.d/mon-server.toml :
[template]
src = "haproxy.cfg.tmpl"
dest = "/etc/haproxy/haproxy.cfg"
keys = [
"/app/servers",
]
reload_cmd = "docker restart mon-haproxy-v15b"
Et un autre fichier qui devait être le template /etc/confd/templates/haproxy.cfg.tmpl :
global
maxconn 400
defaults
log 127.0.0.1 local5 notice
mode tcp
retries 5
maxconn 200
timeout connect 5000
timeout client 50000
timeout server 50000
frontend http-in
bind *:80
default_backend serveur
backend serveur
mode tcp
balance roundrobin
{{range $server := .app_servers}}
server {{Base $server.Key}} {{$server.Value}} check
{{end}}
Mais visiblement il n’y a pas de confd 🙁 , je vais donc chercher un équivalent. Ou alors je refais l’installation à partir d’une débina ou mieux CoreOS.