CoreOS中的共享IP

我正在研究在工作中使用CoreOS以及几个我不想单点故障的项目。 CoreOS和Docker看起来很有希望,我可以让hipache和一个大使容器交谈,与服务交谈。 基本上,它可以工作。

但是共享的公共IP呢? 这个问题应该如何解决? 我找不到任何好的文档。 http://www.keepalived.org/看起来像是可以解决这个问题的东西。 但在这种情况下是否正确?

我在这里错过了什么? 为什么没有人更多地谈论这个问题呢?

有几个不同的方法来照顾这个。 如果您使用的是云供应商(EC2 / OpenStack / Google Compute Engine),则可以通过API调用来移动浮动IP的概念。 这摆脱了直接使用VRRP之类的东西。

从长远来看,这最好通过使用短TTL的DNS条目来处理。 使用该方法还可以让您具有位置感知应用程序(在不同地区的DNS可以路由到最近的位置)的更大的灵活性,轻松过渡到IPv6,并跨物理位置进行故障转移,而无需维护您自己的内部路由基础结构。

如果您使用的是keepalived,只需在您的cloud-init中使用浮动IP添加一个启动服务,以便在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 

如果这是正确的select,我有同样的问题/怀疑,但我现在需要一些工作。