我正在研究在工作中使用CoreOS以及我希望没有单点故障的几个项目。 CoreOS和Docker看起来很有前途,我可以让hipache与大使容器交谈,与该服务交谈。基本上,它可以工作。
但共享的公共IP呢?这个问题应该如何解决?我找不到任何关于此的好文档。 http://www.keepalived.org/看起来像解决这个问题的东西。但在这种情况下它是否是正确的工具?
我在这里遗漏了什么吗?为什么人们不再谈论这个问题?
答案 0 :(得分:2)
有几种不同的方法可以解决这个问题。如果您正在使用云提供商(EC2 / OpenStack / Google Compute Engine),则可以通过API调用移动浮动IP的概念。这样就不必直接使用像VRRP这样的东西了。
从长远来看,最好通过使用短TTL的DNS条目来处理。使用该方法还可以让您更灵活地拥有位置感知应用程序(不同地区的DNS可以路由到最近的位置),轻松过渡到IPv6,以及跨物理位置进行故障转移,而无需维护自己的内部路由基础架构。
答案 1 :(得分:0)
如果你正在使用keepalived,只需在你的cloud-init中添加一个启动服务,并在coreos集群的每个节点中配置
- name: local-paas-ip.service
command: start
content: |
[Unit]
Description=Receive traffic from keepalived floating ip
[Service]
ExecStart=/usr/bin/sudo /usr/bin/ip addr add XXX.XXX.XXX.XXX dev lo:1
对于这是否是正确的选择,我有同样的疑问/怀疑,但我现在需要一些工作。