【发布时间】:2015-08-03 08:35:58
【问题描述】:
如果我为数据库之类的东西设置复制控制器,它如何使副本中的数据保持同步?如果其中一个副本出现故障,它如何用最新数据恢复它?
【问题讨论】:
标签: kubernetes
如果我为数据库之类的东西设置复制控制器,它如何使副本中的数据保持同步?如果其中一个副本出现故障,它如何用最新数据恢复它?
【问题讨论】:
标签: kubernetes
复制控制器确保具有相同模板的所需数量的 pod 在系统中保持运行。复制控制器本身不知道它正在运行什么,并且没有任何特殊的钩子用于运行数据库的容器。这意味着如果你想运行一个包含多个副本的数据库的容器,那么运行一个可以本地进行复制和发现的数据库是最简单的(可能通过注入一些环境变量)。
另一种方法是运行带有两个容器的 pod,其中一个容器是普通数据库,第二个“side-car”容器用于实现必要的复制/同步/主选举或您需要的任何额外功能提供使数据库在集群环境中运行。这更灵活(您可以运行最初不是为在集群环境中运行而设计的数据库),但也需要更多的自定义工作才能使其扩展。
【讨论】: