kubernetes replication controller 是如何处理数据的?

How does kubernetes replication controller handle data?

如果我为数据库之类的东西设置复制控制器,它如何使副本中的数据保持同步?如果其中一个副本出现故障,它如何用最新数据恢复它?

复制控制器确保系统中 运行 保留具有相同模板的所需数量 pods。复制控制器本身不知道它是什么 运行ning,并且没有任何容器 运行ning 数据库的特殊挂钩。这意味着,如果你想 运行 一个带有多个副本的数据库的容器,那么 运行 一个可以本地进行复制和发现的数据库是最简单的(可能通过注入一些环境变量)。

另一种方法是 运行 具有两个容器的 pod,其中一个容器是普通数据库,第二个 "side-car" 容器用于实现必要的复制/同步/主选举或在集群环境中创建数据库 运行 所需的任何额外功能。这更灵活(您可以 运行 一个最初未设计为 运行 在集群环境中的数据库)但也需要更多的自定义工作才能扩展。