如果我为数据库之类的东西设置复制控制器,它如何使副本中的数据保持同步?如果其中一个副本出现故障,它如何使用最新数据恢复它?
答案 0 :(得分:5)
复制控制器可确保在系统中保持所需数量的具有相同模板的pod。复制控制器本身不知道它正在运行什么,并且没有任何特殊的钩子来运行数据库的容器。这意味着如果要运行具有多个副本的数据库的容器,则最简单的方法是运行可以本机执行复制和发现的数据库(可能注入一些环境变量)。
另一种方法是运行一个包含两个容器的pod,其中一个容器是vanilla数据库,第二个“side-car”容器用于实现必要的复制/同步/主控选举或者您需要的任何额外功能提供使数据库在集群环境中运行。这更灵活(您可以运行最初设计为在集群环境中运行的数据库),但还需要更多自定义工作才能使其扩展。