六月 2016

Kubernetes 中使用 Gluster FS

以 RC 形式运行在 Kubernetes 集群中的 Pod,会因为 Scale 等需要在不同的 Node 之间发生迁移,因此需要有独立于 Node 文件系统的共享存储服务,同时这一存储服务也应该符合集群的运行需要,简单的 NFS 不管是效率上还是可靠性上,都是不具备这一能力的。这里以 Gluster FS 作为存储引擎,为容器集群提供云存储服务。

K8S 的存储卷使用稍有点古怪,Gluster FS 的使用,需要首先定义一个 Endpoint + Service 形式的代理,来定义 Gluster FS 集群,然后就可以通过持久卷或者用 Pod 直接加载了。

定义 Service

首先用一个 YML 文件来定义 Endpoint 和 Service: