5

我有一个带有 3 个副本的 MySQL 数据库 pod。
现在我正在对一个 pod(pod 数据,而不是 pod 配置)进行一些更改,比如我正在添加一个表。
更改将如何反映在 pod 的其他副本上?

我正在使用具有 3 个工作节点的 kubernetes v1.13。

4

5 回答 5

2

POD 不同步。将它们视为独立的过程。

如果您想要集群 MySQL 安装,Kubernetes 文档描述了如何使用 StatefulSet 来执行此操作:https ://kubernetes.io/docs/tasks/run-application/run-replicated-stateful-application/#deploy-mysql

本质上,您必须自己配置 MySQL 的主/从实例。

于 2019-03-12T12:52:27.790 回答
1

Pod 相互独立,修改一个 Pod 不会影响其他 Pod

于 2019-03-12T10:54:19.820 回答
1

根据您的配置 - 在一个 pod 中应用的更改不会反映在所有其他 pod 中。这些是孤立的资源。使用PersistentVolumeClaimsStatefulSets部署这些东西是一种很好的做法。

您始终可以在Run a Replicated Stateful Application文档中找到带有示例和最佳实践的解释。

于 2019-03-12T11:22:35.920 回答
0

如果你有 3 个 mysql 服务器 pod,那么你就有 3 个独立的数据库。即使您从同一个部署创建它们。因此,根据您的操作,您最终可能会在集群中拥有一堆数据库。

我会创建 1 个具有持久性的 mysql pod,所以如果一个 pod 死了,如果另一个 pod 离开的地方,下一个会取走。不会丢失数据。

如果您想要的是高可用性或故障转移副本,则您需要自行管理它。

一般来说,K8s 不应该用于存储目的。

于 2019-03-12T11:28:08.337 回答
-1

您最好在这 3 个 pod (PVC) 中使用公共存储,并且在 k8s 上运行数据库时还可以考虑 STS。

于 2019-03-12T11:09:15.617 回答