Что означает требование «Должно быть как минимум три узла».значит при развертывании GlusterFS в Kubernetes - PullRequest
0 голосов
/ 03 февраля 2019

В настоящее время я тестирую установку Kubernetes + GlusterFS + Elastic с виртуальными машинами VirtualBox Ubuntu.У меня есть два, один мастер и один узел.Руководство по GlusterFS здесь гласит:

«Должно быть как минимум три узла»

Я не уверен, что это значит.Чтобы немного рассказать о том, чего я не понимаю:

  • Мы говорим о трех модулях Kubernetes, на которых работает GlusterFS в пределах большего кластера Kubernetes, или трех узлах GlusterFS в кластере GlusterFS, который существует в кластере Kubernetes?как один модуль?
  • Может ли это требование быть выполнено моей текущей настройкой?Я думал о подключении одного необработанного диска к узлу VM размером, скажем, 90 ГБ.Затем я разделил бы это необработанное пространство на три / dev / sda2, / dev / sda3, / dev / sda4, каждый по 30 ГБ, без их форматирования.Теперь этот узел Virtualbox VM также является узлом Kubernetes.Я предполагаю, что Kubernetes автоматически установит эти три необработанных пространства в виртуальном мире.Затем, если мы говорим о трех модулях Kubernetes, у каждого из них будет свой собственный IP виртуального модуля.В результате я смогу объявить пары IP- / dev / sda # в файле топологии , упомянутом в руководстве , в поле «Хранилище» и «Устройство» соответственно.В моем случае у меня будет только одно устройство на один IP-адрес хранилища.Моя логика имеет смысл?

1 Ответ

0 голосов
/ 03 февраля 2019

Мы говорим о трех модулях Kubernetes, на которых запущен GlusterFS в пределах большего кластера Kubernetes, или трех узлах GlusterFS в кластере GlusterFS, который существует в кластере Kubernetes как один модуль?

Тетребования связаны с кворумом кластера GlusterFS.Эти требования подразумевают разные узлы для GlusterFS с высокой доступностью.В случае, если у вас есть настоящий кластер Kubernetes с разными узлами, вы должны развернуть GlusterFS на каждом из узлов, чтобы данные безопасно реплицировались на все узлы, и вы были бы в безопасности в случае потери одного узла.

Здесь у вас есть ссылка GlusterFS , надеюсь, она будет полезна.

Может ли это требование быть выполнено моей текущей установкой?Я думал о подключении одного необработанного диска к узлу VM размером, скажем, 90 ГБ.Затем я разделил бы это необработанное пространство на три / dev / sda2, / dev / sda3, / dev / sda4, каждый по 30 ГБ, без их форматирования.Теперь этот узел Virtualbox VM также является узлом Kubernetes.Я предполагаю, что Kubernetes автоматически установит эти три необработанных пространства в виртуальном мире.Затем, если мы говорим о трех модулях Kubernetes, у каждого из них будет свой собственный 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, что означает, что у вас будет один модуль на узел.В любом случае, взглянув на раздел Best Practices справочника GlusterFS, которым я поделился выше, говорится, что вы можете развернуть кластер GlusterFS с двумя узлами.У вас не будет этого третьего узла для аварийного восстановления, но вы сможете протестировать его.

Надеюсь, это прояснит вам кое-что:)

...