2015-05-21 2 views
2

Если я настрою контроллер репликации для чего-то вроде базы данных, как он хранит данные в репликах в синхронизации? Если одна из реплик сходит вниз, как она возвращает ее с последними данными?Как контроллер обработки кубернетов обрабатывает данные?

+0

Почему это проголосовало? – Nithin

ответ

5

Контроллер репликации гарантирует, что в системе будет работать необходимое количество контейнеров с одним и тем же шаблоном. Сам контроллер репликации ничего не знает о том, что он запускает, и не имеет специальных крючков для контейнеров, работающих с базами данных. Это означает, что если вы хотите запустить контейнер с базой данных с более чем одной репликой, то проще всего запустить базу данных, которая может естественным образом выполнять репликацию и обнаружение (возможно, с введением некоторых переменных среды).

Альтернативой является запуск контейнера с двумя контейнерами, где один контейнер представляет собой базу данных ванили, а второй контейнер «боковой автомобиль» используется для реализации необходимых репликации/синхронизации/мастер-выборов или любой дополнительной функциональности, в которой вы нуждаетесь для обеспечения работы базы данных в кластерной среде. Это более гибко (вы можете запустить базу данных, которая изначально не была предназначена для работы в кластерной среде), но также требует больше пользовательской работы для ее масштабирования.

+0

Итак, когда контейнер или контейнер сбрасываются, он создает новый шаблон из шаблона с исходными (или без данных), как в шаблоне? – Nithin

+0

Да. Когда новые контейнеры создаются, они создаются свежими. Если вы хотите сохранить данные, вы должны посмотреть на использование постоянных томов (https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/volumes.md). –

+0

Спасибо, что пояснил мне. – Nithin