Обработка согласованности данных в модулях в GKE - PullRequest
0 голосов
/ 02 ноября 2018

Мои данные в github хранятся в формате JSON. Мои модули клонируют этот репозиторий и используют их, и всякий раз, когда производится обновление этих данных, запускается git hook, и я ожидаю, что мои модули будут обновляться с использованием последних данных (предоставляя git pull). Я выставил этот сервис обновлений через балансировщик нагрузки и настроил его в githook.

Однако, когда срабатывает git hook, только один из модулей получает запрос и выполняет git pull. Есть ли способ уведомить все мои модули в этой службе об обновлении их локального хранилища?

Итак, для достижения этого я искал какое-то общее хранилище, которое можно смонтировать во всех контейнерах, работающих в кластере Kubernetes. например .Google Cloud File Store, эквивалентный AWS EFS. Поэтому, когда в Github появляется новый коммит, балансировщик нагрузки будет запрашивать один из контейнеров для обновления хранилища файлов. Поскольку это одно и то же хранилище файлов, которое смонтировано во всех контейнерах, все они будут обслуживать самые последние данные.

Но, 1. Cloud File Store все еще находится в бета-версии, а не в GA.

Как решить эту проблему в среде kuberentes?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Вы можете попробовать 2 способа: 1. каждый модуль (с помощью задания cron) пытается извлечь данные из центрального хранилища, скажем, раз в минуту, и обновление становится рабочим каталогом, когда доступны обновления. 2. центральный сервер загружает обновления для модулей индивидуально (балансировка нагрузки здесь не подходит).

Вы также можете подумать о реализации этого с помощью Deployments. Как уже упоминалось в другом ответе,
NFS может быть полезным для вашей цели обмена.

0 голосов
/ 02 ноября 2018

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

Я использую это для своей настройки Jenkins в kubernetes, и это хорошо работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...