CoreOS集群DNS设置

我不确定如何为一个coreos群集设置DNS。

目前,我拥有所有的hapixy负载均衡器背后的api实例和指向负载均衡器的(弹性)ip的DNS Alogging。 所以我可以发送stream量到api.myapp.com,它被路由到一个API实例。 这工作正常,但显然负载平衡器是一个单一的故障点。

如果我转而使用coreos设置集群,并且集群正在运行多个服务(而不仅仅是api服务),那么我如何将api.myapp.com指向集群,与我目前的方式相同,但要确保任何请求发送使用这个地址是以某种方式路由到集群内的API服务? 从阅读关于coreos的许多教程,我不清楚这一点。

你需要运行一个路由层(HAproxy应该可以正常工作),根据HTTP主机头指挥stream量。 根据需要在绑定到80/443的几台机器上运行此路由容器。 为每个指向这几台机器的服务添加logging。 你的LB现在是高度可用的。

接下来,设置您的HAproxy路由规则,以消耗下游服务的位置并适当地路由stream量。 例如,对api.example.com的请求将被路由到10.10.10.1,10.10.10.2或10.10.10.3。 路由器(10.10.10.1:443)看到它有两个后端容器负责10.10.10.99:9999和10.10.10.98:9898上运行的api.example.com。 stream量被路由到其中一个容器,并且请求被满足。

Vulcan代理和etcd的完整示例如下: https ://coreos.com/blog/zero-downtime-frontend-deploys-vulcand/