配置DNS

对于使用Vagrant的用户,我们添加了DNS的记录local.deisapp.com可以解析到第一个虚拟机,172.17.8.100。你可以使用local.deisapp.com 来登录进控制器组件和访问你已经部署的应用(他们会是local.deisapp.com的子域名,如happy-unicorn.local.deisapp.com)。类似的,你可以使用local3.deisapp.com或者local5.deisapp.com来分别命名三个或者五个节点的集群。

对于在其他地方放置的Deis集群(EC2,EC2, Rackspace, DigitalOcean, Google Compute Engine, 裸机, 等)。DNS记录应该添加来指向集群。对于一个单节点的集群,我们计划放置然后启动一个路由组件,然后deis的路由和deis-controller将会在相同的主机上。因此,下面指定的DNS的记录可以配置成指向此单一机器上。

然而,在一个多节点的集群上,可能有多个路由组件,并且控制器组件很可能会被计划放置到一个单独的机器上。根据“配置负载均衡”,在这种情形下推荐使用一个负载均衡器。

注意控制器组件可能会最终放置到路由器组件之后,这样所有的外部访问都会通过负载均衡器 - 配置一个DNS记录指向一个IP地址会变化的的服务显然不是很理想的。

必要的DNS记录

Deis需要一个通配符型的DNS记录。假设myapps.com是顶级的域名,所有的应用都放置其下:

  • *.myapps.com应该针对么一个负载均衡器的IP地址有A记录的条目

之后,应用就可以通过浏览器以appname.myapps.com访问,并且控制器组件可以在Deis的客户端通过deis.myapps.com访问。

E2建议不创建A记录;相反,应该为负载均衡器的DNS名字创建一个通配符型的“CNAME”记录,或者使用Amazon的Route 53。

这些记录对于所有Deis的部署都是必要的(EC2, Rackspace, DigitalOcean, Google Compute Engine, 裸机, 等等)。Vagrant的集群可以使用域名:local.deisapp.com, local3.deisapp.com, 或者local5.deiaspp.com。

使用xip.io

不手动配置你自己的DNS记录的另外一种选择是使用xip来指代你的负载均衡器的IP。比如:

  1. $ deis register http://deis.10.21.12.2.xip.io

你然后需要用10.21.12.2.xip.io作为集群的域名来创建集群。

注意xip对于EC2 ELB似乎没效果 - 你需要使用实际的DNS记录。