1

我正在学习 Kubernetes,并尝试设置一个可以处理具有高流量的单个 Wordpress 站点的集群。通过从 Google Cloud 和 Kubernetes.io 在线阅读多个示例 - 他们在创建 PVC 时都设置了“accessMode” - “readWriteOnce”。

这是否意味着如果我扩展 Wordpress 部署以使用多个副本,它们都使用相同的单个 PVC 来存储持久数据 - 读/写数据。(就像他们使用单个数据库实例一样?)

此处的 google 示例仅使用单副本、单数据库实例 - https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk

我的问题是如何处理多副本实例上的持久存储?

4

2 回答 2

1

ReadWriteOnce 意味着所有副本都将使用相同的卷,因此它们都将在一个节点上运行。这可能不是最理想的。

您可以设置 ReadWriteMany 卷(NFS、GlusterFS、CephFS 等)存储类,允许多个节点挂载一个卷。

或者,您可以使用带有 volumeClaimTemplate 的 StatefulSet 运行您的应用程序,以确保每个副本都将挂载自己的 ReadWriteOnce 卷。

于 2019-04-21T10:36:06.453 回答
0

如果在 AWS 上(因此受到 EBS 卷的限制,一次只能挂载在一个实例上),这里的另一个选项是设置 Pod Affinity 以在同一节点上调度。从 HA 的角度来看并不理想,但它是一种选择。

如果在设置之后你开始遇到任何奇怪的问题(例如无法登录到管理员、重定向循环、消失的媒体),我写了一篇关于人们在 Kubernetes 上运行 Wordpress 时遇到的一些更常见问题的指南,可能值得一看!

于 2019-06-16T01:50:10.733 回答