Microk8s для высокой доступности Mysql

Я пытаюсь настроить базу данных высокой доступности MySQL с помощью Microk8s Kubernetes.

Задача состоит в том, чтобы MySQL работал на всех трех узлах с 1 плавающим IP между ними, и чтобы в случае взрыва любого из узлов база данных продолжала функционировать.

Я установил 3 узла после https: //microk8s.io/high-availability, я сгруппировал их вместе, и действительно, если я запускаю microk8s kubectl, не получаю , я получаю

NAME    STATUS   ROLES    AGE     VERSION
node3   Ready    <none>   4m28s   v1.19.3-34+a56971609ff35a
node2   Ready    <none>   25m     v1.19.3-34+a56971609ff35a
node1   Ready    <none>   37m     v1.19.3-34+a56971609ff35a

Я включил панель управления, и она работает на всех трех, на отдельные IP-адреса.

Теперь я хотел бы установить MySQL и использовать плавающий IP-адрес, а также хранить данные на всех 3.

Мои вопросы:

  1. Как установить MySQL на microk8s?
  2. Как чтобы он всегда был доступен для копирования.
  3. Как иметь плавающий IP-адрес?

Кто-нибудь может указать мне на правильный учебник или помочь мне в этом?

Th ank you

0
задан 2 December 2020 в 16:19

1 ответ

Для работы с базой данных в kubernetes вам понадобится statefullset

пример настройки с mysql, описанный в проекте kubernetes здесь: https://kubernetes.io/docs/tasks/run -application/run-replicated-stateful-application/

Есть также облачный градуированный проект, который может быть интересен: https://vitess.io/

наличие БД в кластере kubernetes (с HA и т. д.) довольно сложно, и идея иметь вашу БД вне kubernetes также может быть идеей: https://cloud.google.com/blog/products/databases/to-run-or-not-to-run-a -database-on-kubernetes-что-рассматривать

0
ответ дан 12 December 2020 в 14:43

Другие вопросы по тегам:

Похожие вопросы: