Должен ли я использовать набор состояний k8s напрямую или mysql -оператор для развертывания кластера master-slave mysql? - PullRequest
0 голосов
/ 03 августа 2020

Итак, я хочу развернуть кластер master-slave MySQL в k8s. Я нашел два популярных способа:

  1. Первый - использовать наборы состояний непосредственно из официального документа k8s: https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/
  2. Второй - используйте оператор, т.е. https://github.com/oracle/mysql-operator

Какой способ используется чаще всего?

Кроме того, в наборах состояний, если мой MySQL мастер умирает, k8s автоматически сделать подчиненное устройство главным?

Наконец, когда мое бэкэнд-приложение logi c выполняет операцию (CRUD) с кластером MySQL, как k8s узнает, к какому модулю направить маршрут, т.е. операцию записи может быть отправлен только мастеру, а чтение отправлено всем?

1 Ответ

1 голос
/ 05 августа 2020

Пользователи могут развертывать и поддерживать набор высокодоступных MySQL сервисов в k8s на основе StatefulSets, процесс относительно сложен. Этот процесс требует от пользователей ознакомления с различными объектами ресурсов k8s, изучения многих MySQL деталей операций и поддержки набора сложных сценариев управления. Операторы Kubernetes предназначены для снижения порога развертывания сложных приложений на k8s.

Оператор скрывает детали оркестровки сложных приложений и значительно снижает порог их использования в k8s. Если вам нужно развернуть другие сложные приложения, мы рекомендуем использовать Оператор.

Говоря о главном выборе при использовании StatefulSet. Выбор потенциального ведомого в качестве ведущего не является автоматическим c процессом - вы должны настроить это вручную, используя Xtrabackup - здесь дополнительная информация - setting_up_replication .

Взгляните: cloning-existing-data , start-replication , mysql -statefulset-operator .

Полезные инструменты: vitess для лучшего MySQL сетевого управления и percona-xtradb-cluster , обеспечивающего превосходную производительность, масштабируемость и инструментарий.

...