Репликация MySQL с ведущими и подчиненными в разных кластерах Kubernetes с использованием Calico в качестве плагина CNI - PullRequest
1 голос
/ 21 марта 2019

У меня есть кластер Kubernetes, в котором есть несколько баз данных MySQL.

Я хочу иметь подчиненное устройство репликации для каждой базы данных в другом кластере Kubernetes в другом центре данных.

I 'используя Calico в качестве плагина CNI.

Чтобы заставить процесс репликации работать, ведомые устройства должны иметь возможность подключиться к порту 3306 главных серверов.И я бы предпочел сохранить эти соединения максимально изолированными.

Я задаюсь вопросом о наилучшем подходе для управления этим.

enter image description here

1 Ответ

1 голос
/ 27 марта 2019

Одним из способов реализации вашей идеи является использование нового инструмента под названием Submariner .

Submariner обеспечивает прямую сеть между модулями в разных кластерах Kubernetes на прем или в облаке.

Это новое решение преодолевает барьеры для связи между кластерами Kubernetes и допускает множество новых многокластерных реализаций , таких как репликация базы данных в Kubernetes по географическим регионам и развертывание сервисной сетки по кластерам.

Основные функции Submariner включают в себя:

Совместимость и связь с существующими кластерами: пользователи могут развертывать Submariner в существующих кластерах Kubernetes с добавлением сетевого соединения уровня 3 между модулями в разных кластерах.

Безопасные пути: шифрованное сетевое подключение реализовано с использованием туннелей IPSec.Различные механизмы подключения: хотя IPsec является стандартным механизмом подключения по умолчанию, Rancher в ближайшем будущем включит различные подключаемые модули взаимодействия.

Централизованный посредник: пользователи могут регистрировать и поддерживать набор исправных узлов шлюза.

Гибкое обнаружение услуг: Submariner обеспечивает обнаружение услуг в нескольких кластерах Kubernetes.

Совместимость с CNI : Работает с популярными драйверами CNI, такими как Flannel и Calico .

Необходимые условия для его использования:

Как минимум 3 кластера Kubernetes, один из которых предназначен для использования в качестве центрального брокера, доступного для всех ваших подключенных кластеров.;это может быть один из ваших подключенных кластеров, но поставляется с ограничением, что кластер должен быть включен для облегчения взаимодействия / согласования

Различные CIDR кластера / службы (а также различные суффиксы DNS Kubernetes)) между кластерами.Это необходимо для предотвращения конфликтов селектора / политики / маршрутизации трафика.

Прямое IP-соединение между экземплярами через Интернет (или в одной сети, если Submariner не работает через Интернет).Submariner поддерживает настройки NAT 1: 1, но в этой конфигурации есть несколько инструкций по настройке, относящихся к предостережениям и провайдерам.

Знание конфигурации сети каждого кластера

Версия Helm с поддержкой перехвата crd-install (v2.12.1 +)

Более подробную информацию о шагах по установке вы можете найти на подводнике github .Кроме того, вы можете найти многокластерную статью о подводном корабле *1043* интересную и полезную.

Удачи.

...