Наша компания разрабатывает приложение, которое работает в 3 отдельных кластерах-кубернетах в разных версиях (производство, подготовка, тестирование).Мы должны отслеживать наши кластеры и приложения с течением времени (метрики и журналы).Нам также нужно запустить почтовый сервер.
Таким образом, в основном у нас есть 3 разные среды с разными версиями нашего приложения.И у нас есть несколько общих служб, которые просто должны быть запущены, и мы не заботимся о них:
- Мониторинг: Нам нужно установить InfliffDB и Grafana.В каждом кластере есть предустановленный heapster, который должен отправлять данные нашим инструментам.
- Ведение журнала: Мы еще не решили.
- Почтовый сервер (https://github.com/tomav/docker-mailserver)
- независимые службы: Sentry, Gitlab
Я не уверен, где запустить эти внешние общие службы. Я нашел следующие варианты:
1. Внутри каждого кластера
Нам нужно установить инструменты 3 раза для 3 сред.
Con:
- У нас нет одной центральной точки для анализа наших систем.
- Если весь кластер не работает, мы не можем смотреть на что-либо.
- Неправильная установка одних и тех же инструментов несколько раз.
2. Создайте дополнительный кластер
Мы устанавливаем общие инструменты в дополнительный кластер kubernetes.
Con:
- Стоимость дополнительного кластера
- Возможно, сложнееотправлять текущие данные на внешний кластер (сеть, безопасность, брандмауэр и т. д.).
3)Используйте дополнительный root-сервер
Мы запускаем docker-контейнеры на oldschool-root-server.
Con:
- Считается противоречивым использование root-сервера вместоof ультрасовременные k8s.
- Единственная точка отказа.
- Нам нужно контролировать док-контейнеры вручную (или подключать машину к ранчо).
Я попытался решить проблему с помощью Google, но ничего не могу найти по этой теме.Может кто-нибудь дать мне подсказку или несколько ссылок на эту тему?Или это просто не имеет значения, что кластер может разрушиться?
Для меня второй вариант звучит менее злобно, но я пока не могу оценить, трудно ли передавать данные из одного кластера в другой.
Важные вопросы:
- Является ли проблемой наличие данных мониторинга в кластере, потому что данные мониторинга не видны, если кластер отключен?
- Это так?общая практика иметь дополнительный кластер для общих служб, который не должен влиять на другие части приложения?
- Можно (легко) отправлять метрики и журналы из одного кластера kubernetes в другой (мыработает kubernetes в
OpenTelekomCloud
, что в основном OpenStack
)?
Спасибо за ваши подсказки,
Мариус