Kubernetes:集群外持久存储的策略

时间:2018-01-22 20:38:07

标签: kubernetes persistence nfs docker-volume

我需要一条建议/推荐/链接到教程。

我正在设计一个kubernetes集群,其中一个项目是一个包含大量图片的Wordpress网站(照片博客)。

我希望能够在一小时内拆除并重新创建我的集群,因此所有“持久”部分都需要在集群之外托管(例如,单独的Linux实例)。

它可以与数据库一起使用 - 我将在该机器上运行一个MySQL服务器并相应地更新WP配置。

文件系统存储并非易事。我正在寻找Kubernetes卷提供商,特别是NFS。我想在一台单独的机器上设置NFS服务器,并让每个WP po​​d通过卷机制使用该NFS共享。在这种情况下,我可以随时重建我的集群,并保留数据。几乎像数据库访问,但文件系统。

问题如下。这个解决方案似乎可行吗?有没有更好的方法来实现同样的目标? Kubernetes NFS插件是否支持我需要的功能?授权怎么样?

1 个答案:

答案 0 :(得分:1)

所以我对群集使用了非常类似的策略,其中所有PVC都放置在具有静态IP的独立VM实例上,并且该群集上运行着NFS服务器,并且群集上有一个简单的nfs-client-provisioner掌舵图

这就是我的工作:

  1. 创建了一个服务器(Ubuntu),并在其上安装了NFS服务器。参考https://yihui.shinyapps.io/DT-edit/
  2. 为带参数的nfs-client-proviosner安装头盔图表/应用程序。

    nfs.path = /srv ( the path on server which is allocated to NFS and shared)

    nfs.server = xx.yy.zz.ww ( IP of my NFS server configured above)

就是这样,图表创建了一个nfs-client存储类,您可以使用该存储类来创建PVC并将其附加到您的Pod。

注意-确保将NFS服务器上的/etc/exports文件配置为参考数字海洋文档中所述的外观。

/srv kubernetes_node_1_IP(rw,sync,no_root_squash,no_subtree_check)

/srv kubernetes_node_2_IP(rw,sync,no_root_squash,no_subtree_check) ...等等。

我正在将PVC用于某些php和laravel应用程序,看起来运行良好,没有任何明显的延迟。虽然您将必须检查您的特定要求。 HTH。