【问题标题】:How can you scale Wordpress in Kubernetes cluster - using multiple pod replicas, - accessing a single PVC (persistent file storage)如何在 Kubernetes 集群中扩展 Wordpress - 使用多个 pod 副本 - 访问单个 PVC(持久文件存储)
【发布时间】:2019-09-10 20:22:37
【问题描述】:

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

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

这里的 google 示例只使用了单副本、单数据库实例 - https://cloud.google.com/kubernetes-engine/docs/tutorials/persistent-disk

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

【问题讨论】:

    标签: wordpress docker kubernetes google-cloud-platform kubernetes-pvc


    【解决方案1】:

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

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

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

    【讨论】:

    • 那么sql如何相互复制数据呢?我们可以扩展 statefulset 吗?如果可以,我该怎么做?谢谢
    • StatefulSet for Mysql 非常流行,见github.com/helm/charts/tree/master/stable/mariadb。一个 pod 用作 master,其他 pod 用作只读副本。
    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2018-07-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-24
      • 2023-04-03
      • 2020-10-15
      • 1970-01-01
      • 2018-07-01
      相关资源
      最近更新 更多