在 Kubernetes 中部署 GlusterFS 时,要求 "There must be at least three nodes." 是什么意思
What does the requirement "There must be at least three nodes." mean when deploying GlusterFS in Kubernetes
我目前正在使用 VirtualBox Ubuntu VM 测试 Kubernetes+GlusterFS+Elastic 设置。我有两个,一个主节点和一个节点。 GlusterFS here 指南说:
"There must be at least three nodes"
我不确定那是什么意思。详细说明一下我不明白的地方:
- 我们是在谈论三个 Kubernetes pods 运行 GlusterFS
Kubernetes 集群,或 GlusterFS 内的三个 GlusterFS 节点
作为单个 pod 存在于 Kubernetes 集群中的集群?
- 我当前的设置是否可以满足此要求?我正在考虑将 1 个原始磁盘连接到大小为 90GB 的节点 VM。然后我会将原始 space 拆分为三个 /dev/sda2、/dev/sda3、/dev/sda4,每个 30GB,但不对其进行格式化。现在这个 Virtualbox VM 节点也是一个 Kubernetes 节点。我假设 Kubernetes 会在虚拟世界中自动挂载这三个原始 space。然后,如果我们谈论三个 Kubernetes pods,每个 Kubernetes 都有自己的虚拟 pod IP。因此,我将能够分别在存储和设备字段的 topology file mentioned in the guide 中声明 IP-/dev/sda# 对。在我的例子中,每个存储 IP 我将只有一个设备。我的逻辑有道理吗?
Are we talking about three Kubernetes pods running GlusterFS within the greater Kubernetes cluster, or three GlusterFS nodes within the GlusterFS cluster that exists within the Kubernetes cluster as a single pod?
这些要求与 GlusterFS 的集群仲裁有关。这些要求意味着高可用性 GlusterFS 的不同节点。如果您有一个包含不同节点的真实 Kubernetes 集群,您将在每个节点中部署 GlusterFS,以便在所有节点之间安全地复制数据,并且在丢失一个节点的情况下您将是安全的。
Here you have the GlusterFS reference,希望有用。
Can this requirement be met by my current setup? I was thinking of attaching 1 raw disk to the node VM with size, let's say 90GB. Then I would split that raw space to three /dev/sda2, /dev/sda3, /dev/sda4, each one 30GB, without formatting them. Now this Virtualbox VM node is also a Kubernetes node. I am assuming that Kubernetes will auto-mount those three raw spaces in the virtual world. Then, if we are talking about three Kubernetes pods, each one will have it's own virtual pod IP. As a result, I would be able to declare IP-/dev/sda# pairs in the topology file mentioned in the guide in the storage and device field respectively. In my case I will have only one device per storage IP. Does my logic make sense?
我想你做不到。如果您仔细查看 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 集群。您将没有用于灾难恢复的第三个节点,但您将能够对其进行测试。
希望这能让你明白一些事情:)
我目前正在使用 VirtualBox Ubuntu VM 测试 Kubernetes+GlusterFS+Elastic 设置。我有两个,一个主节点和一个节点。 GlusterFS here 指南说:
"There must be at least three nodes"
我不确定那是什么意思。详细说明一下我不明白的地方:
- 我们是在谈论三个 Kubernetes pods 运行 GlusterFS Kubernetes 集群,或 GlusterFS 内的三个 GlusterFS 节点 作为单个 pod 存在于 Kubernetes 集群中的集群?
- 我当前的设置是否可以满足此要求?我正在考虑将 1 个原始磁盘连接到大小为 90GB 的节点 VM。然后我会将原始 space 拆分为三个 /dev/sda2、/dev/sda3、/dev/sda4,每个 30GB,但不对其进行格式化。现在这个 Virtualbox VM 节点也是一个 Kubernetes 节点。我假设 Kubernetes 会在虚拟世界中自动挂载这三个原始 space。然后,如果我们谈论三个 Kubernetes pods,每个 Kubernetes 都有自己的虚拟 pod IP。因此,我将能够分别在存储和设备字段的 topology file mentioned in the guide 中声明 IP-/dev/sda# 对。在我的例子中,每个存储 IP 我将只有一个设备。我的逻辑有道理吗?
Are we talking about three Kubernetes pods running GlusterFS within the greater Kubernetes cluster, or three GlusterFS nodes within the GlusterFS cluster that exists within the Kubernetes cluster as a single pod?
这些要求与 GlusterFS 的集群仲裁有关。这些要求意味着高可用性 GlusterFS 的不同节点。如果您有一个包含不同节点的真实 Kubernetes 集群,您将在每个节点中部署 GlusterFS,以便在所有节点之间安全地复制数据,并且在丢失一个节点的情况下您将是安全的。
Here you have the GlusterFS reference,希望有用。
Can this requirement be met by my current setup? I was thinking of attaching 1 raw disk to the node VM with size, let's say 90GB. Then I would split that raw space to three /dev/sda2, /dev/sda3, /dev/sda4, each one 30GB, without formatting them. Now this Virtualbox VM node is also a Kubernetes node. I am assuming that Kubernetes will auto-mount those three raw spaces in the virtual world. Then, if we are talking about three Kubernetes pods, each one will have it's own virtual pod IP. As a result, I would be able to declare IP-/dev/sda# pairs in the topology file mentioned in the guide in the storage and device field respectively. In my case I will have only one device per storage IP. Does my logic make sense?
我想你做不到。如果您仔细查看 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 集群。您将没有用于灾难恢复的第三个节点,但您将能够对其进行测试。
希望这能让你明白一些事情:)