如何让glusterfs在集群升级中幸存下来

时间:2018-05-09 08:29:24

标签: google-cloud-platform google-compute-engine google-kubernetes-engine glusterfs

我正在尝试使用直接安装在GCE集群节点上的glusterfs。 安装不会通过群集升级持续存在,这可以通过引导脚本解决。 问题是,当我手动重新安装glusterfs并安装砖块时,没有卷存在,我不得不强制重新创建。

发生什么事了? glusterfs是否将数据存储在除砖块之外的其他地方?我该如何防止这种情况?

1 个答案:

答案 0 :(得分:0)

我可以确认您是在Kubernetes群集上执行此操作吗?我认为你就像你提到的集群升级一样。

如果是这样,当你说gluster直接安装在你的节点上时,我不确定我是否理解你帖子的这一部分。我对glusterfs的预期用途的理解是它作为分布式文件系统存在,因此存储是Kubernetes节点的单独集群的一部分。

我相信这是使用glusterfs和Kubernetes的recommended方法,这样,在Kubernetes集群升级之后,卷中的数据将被保留。

以下是我执行的步骤。

我使用此this教程中前三个步骤中的信息/脚本创建了glusterfs集群(特别是'Clone''Bootstrap your Cluster'和'Create your first volume'步骤)。就下面的YAML而言,知道我的glusterfs卷名为'glustervolume'可能是有用的。

一旦我确认已经创建了gluster卷,我创建了Kubernetes和服务以及指向该卷的端点。以下YAML的端点部分中的IP地址是glusterfs存储集群中实例的内部IP地址。

@del_cmd = 'none'

然后我创建了一个pod来使用gluster卷:

---
apiVersion: v1
kind: Service
metadata:
  name: glusterfs-cluster
spec:
  ports:
  - port: 1
---
apiVersion: v1
kind: Endpoints
metadata:
  name: glusterfs-cluster
subsets:
  - addresses:
      - ip: 10.132.0.6
    ports:
      - port: 1
  - addresses:
      - ip: 10.132.0.7
    ports:
      - port: 1
  - addresses:
      - ip: 10.132.0.8
    ports:
      - port: 1

由于glusterfs卷单独存在于Kubernetes群集(即在其自己的群集上),因此Kubernetes升级不会影响卷。

相关问题