CF Bosh Director多DC高可用性

问题描述 投票:0回答:1

我正在研究使用多cpi和单个BOSH Director部署的Cloud Foundry的新体系结构部署。如果BOSH导向器部署在DC-A中并管理2个vcenter,一个在DC-A中,另一个在DC-B中,如果DC-A脱机,则BOSH在DC-B中运行活动/备用的选项有哪些?这样它可以立即接管部署,而无需执行备份和还原?

cloudfoundry cf-bosh bosh
1个回答
0
投票

是的,具有多CPI BOSH的多DC BOSH部署效果很好!当人们想到这种多DC设计时,常常会提出您的问题。

BOSH控制器没有高可用性(HA),并且我现在不知道主动/被动设置。这样做的原因是,失去BOSH董事并不重要。该Director管理的节点仍将在基础结构之上运行。在您将总监调回之前,它们是“无法管理的”。

但是如果我们考虑这种主动/被动设置的要求,这就是我要提出的:

  1. 他们必须共享完全相同的CPI安装和设置。没什么大不了的。

  2. 他们将必须共享相同的SQL数据库和相同的Blobstore(对象存储)。这没什么大不了的,但这导致同时使用外部SQL存储和外部Blobstore。然后,“被动” BOSH主管至少必须禁用其复活器插件,以免与“主动” BOSH主管的复活器竞争。 (实际上,被动的BOSH Director必须完全停止,请参见下文。)

  3. 他们必须共享相同的NATS消息总线,该消息总线通常位于BOSH Director上,因此专用于它。从Director提取此NATS并使用高可用性设置单独运行它很容易。但是问题就出在哪:哪个Director使用NATS消息?两位董事无法竞争这些消息。这就是为什么“被动” BOSH Director需要将其过程进行monit stop -ed或整个实例bosh stop -ed。

  4. bosh stop的要求无法使用bosh CLI(v2,包括此bosh-init组件,其作用类似于本地的精简BOSH Director)。因此,这两个BOSH Director必须由“ bootstrap” BOSH Director部署(这很常见,在某些客户生产环境中,我什至已经看到这种Bootstrap Director模式的四个阶段!)

  5. 现在想像一下您拥有的全部。一个引导BOSH Director,它部署一个单独的HA NATS和两个Director,具有相同的CPI设置,相同的外部SQL数据库和相同的外部Blob存储区。这样就可以了!每当您松开主动式主机时,您就bosh start被动式主机接管。但是您应该注意,先前处于活动状态的消息不会突然弹出,否则会竞争使用NATS消息,并可能使数据库和Blobstore混乱。那是BOSH缺少某些“锁定”功能的地方,一次只能允许一个活跃的Director。在这里,可以基于一些数据库记录来实现一些非常简单的操作,该记录将指定哪个是主动的,哪个是被动的。手动切换此记录将触发被动Director进入主动状态。

对于下一次Cloud Foundry黑客马拉松,这是一个非常好的主意!

© www.soinside.com 2019 - 2024. All rights reserved.