“至少必须有三个节点”的要求是什么?在Kubernetes中部署GlusterFS的意思是

时间:2019-02-03 12:15:01

标签: ubuntu kubernetes virtualbox glusterfs

我目前正在使用VirtualBox Ubuntu VM测试Kubernetes + GlusterFS + Elastic设置。我有两个,一个主节点和一个节点。 GlusterFS here的指南说:

“必须至少有三个节点”

我不确定这是什么意思。详细说明我不了解的地方:

  • 我们是否在谈论在更大范围内运行GlusterFS的三个Kubernetes Pod Kubernetes集群或GlusterFS中的三个GlusterFS节点 Kubernetes集群中以单个Pod存在的集群?
  • 我当前的设置可以满足此要求吗?我当时正在考虑将1个原始磁盘附加到具有90GB大小的节点VM上。然后,我将原始空间分成三个/ dev / sda2,/ dev / sda3,/ dev / sda4,每个一个30GB,而不格式化它们。现在,此Virtualbox VM节点也是Kubernetes节点。我假设Kubernetes将在虚拟世界中自动挂载这三个原始空间。然后,如果我们谈论的是三个Kubernetes Pod,则每个Pod都有其自己的虚拟Pod IP。结果,我将能够分别在存储和设备字段的topology file mentioned in the guide中声明IP- / dev / sda#对。就我而言,每个存储IP只有一个设备。我的逻辑有意义吗?

1 个答案:

答案 0 :(得分:1)

  

我们是在谈论在更大的Kubernetes集群中运行GlusterFS的三个Kubernetes吊舱,还是在Kubernetes集群中作为单个Pod存在的GlusterFS集群中的三个GlusterFS节点?

这些要求与GlusterFS的群集仲裁有关。这些要求意味着高可用性GlusterFS的节点不同。如果您有一个带有不同节点的真实Kubernetes集群,则可以在每个节点中部署GlusterFS,以便在所有节点上安全地复制数据,并且在您松开一个节点的情况下也可以确保安全。

Here you have the GlusterFS reference,希望它有用。

  

我当前的设置可以满足此要求吗?我当时正在考虑将1个原始磁盘附加到具有90GB大小的节点VM上。然后,我将原始空间分成三个/ dev / sda2,/ dev / sda3,/ dev / sda4,每个一个30GB,而不格式化它们。现在,此Virtualbox VM节点也是Kubernetes节点。我假设Kubernetes将在虚拟世界中自动挂载这三个原始空间。然后,如果我们谈论的是三个Kubernetes Pod,则每个Pod都有其自己的虚拟Pod IP。结果,我将能够在指南中提到的拓扑文件中的存储和设备字段中分别声明IP- / dev / sda#对。就我而言,每个存储IP只有一个设备。我的逻辑有道理吗?

我认为您将无法执行此操作。如果您仔细查看GlusterFS的部署清单,则:

---
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: glusterfs
  labels:
    glusterfs: daemonset
  annotations:
    description: GlusterFS DaemonSet
    tags: glusterfs
spec:

Ref

您可以看到GlusterFS的部署方法是 Daemonset ,这意味着每个节点上只有一个Pod。 无论如何,查看我在上面共享的GlusterFS参考的最佳实践部分,它说您可以部署具有两个节点的GlusterFS集群。您将没有用于灾难恢复的第三个节点,但是您将能够对其进行测试。

希望这可以使您明白:)