Кубернетская кластерная архитектура
Имеет ли смысл создавать отдельный кластер Kubernetes для моих экземпляров Cassandra и один кластер для уровня приложений? Доступен ли кластер БД из сервисного кластера, когда оба находятся в одном регионе и зоне?
Или лучше иметь один кластер с разными пулами - один пул для сервисного уровня и один пул узлов БД?
Спасибо
1 ответ
Решение
Это больше похоже на то, как вы хотите спроектировать всю архитектуру. Вот несколько вещей для рассмотрения:
Тот же кластер:
- Pros
- Рабочие нагрузки не должны переходить на другой podCidr для получения его данных.
- Вы можете оптимизировать свои ресурсы на одном и том же наборе серверов.
- Это одна из главных причин, по которой люди используют контейнеры и оркестраторы.
- Это позволяет запускать несколько различных типов рабочих нагрузок на одном и том же наборе ресурсов.
- Cons
- Если у вас возникли проблемы с кластером, на котором работает Cassandra, вы рискуете потерять свои данные. Или временно потерять данные, если у вас есть резервные копии. (Более длительное время простоя)
- Если вы хотите супер изолировать БД и приложение с точки зрения безопасности, это может быть сложнее.
Разные кластеры:
Pros
- "Безопаснее", если один из ваших кластеров выходит из строя.
- Больше разделения с точки зрения безопасности ваших данных в состоянии покоя.
Cons
- Ресурсы не могут быть использованы оптимально. Оставив некоторые процессоры, память и т. Д. Простаивающими.
- Больше управления инфраструктурой.
Пулы разных узлов:
- Pros
- Разделение данных в состоянии покоя
- До сих пор проходит тот же PodCidr.
- Cons
- Больше управления различными пулами узлов.
- Ресурсы не могут быть использованы оптимально.