Configuration du CoreOS Cluster DNS

Je ne sais pas comment configurer DNS pour un cluster coreos.

Actuellement, j'ai toutes mes instances d'api derrière un équilibreur de charge haproxy et un logging DNS A qui indique l'ip (élastique) de l'équilibreur de charge. Je peux donc envoyer du trafic vers api.myapp.com et être apathé vers une instance api. Cela fonctionne bien, mais évidemment l'équilibreur de charge est un seul point d'échec.

Si je me déplace dans la configuration d'un cluster en utilisant coreos et que le cluster exécute plusieurs services, et pas seulement le service api, comment puis-je pointer api.myapp.com vers le cluster de la même manière que je le fais actuellement, mais assurez-vous que toutes les requests Les messages envoyés à l'aide de cette adresse sont en quelque sorte apathés vers le service api dans le cluster? Ce n'est pas clair pour moi de lire de nombreux tutoriels sur coreos.

Vous devrez exécuter une couche de routing (HAproxy devrait fonctionner correctement) qui dirige le trafic en fonction de l'en-tête de l'hôte HTTP. Exécutez ce conteneur de routing sur quelques machines liées à 80/443 comme vous le souhaitez. Ajoutez des loggings pour chacun de vos services qui indiquent ces quelques machines. Votre LB est maintenant très disponible.

Ensuite, configurez vos règles de routing HAproxy pour consumr l'location de vos services en aval et apather le trafic de manière appropriée. Par exemple, une requête à api.example.com est apathée vers 10.10.10.1, 10.10.10.2 ou 10.10.10.3. Le routeur (10.10.10.1:443) voit qu'il dispose de deux conteneurs backend responsables de api.example.com s'exécutant le 10.10.10.99:9999 et 10.10.10.98:9898. Le trafic est apathé vers l'un des conteneurs et la request est remplie.

Un exemple complet de ceci avec Vulcan proxy et etcd est ici: https://coreos.com/blog/zero-downtime-frontend-deploys-vulcand/