Запуск высокодоступной базы данных на модулях kubernetes (с автоматической настройкой)

#database #mongodb #kubernetes #high-availability

#База данных #mongodb #kubernetes #высокая доступность

Вопрос:

Я хочу запустить высокодоступную базу данных на модулях kubernetes. Я могу запустить mongodb, но после завершения развертывания нам нужно выполнить некоторые ручные шаги для масштабирования mongodb, и я не могу найти какой-либо способ автоматизировать это. Есть ли способ автоматизировать процесс, при котором 3 реплики в kubernetes запускаются как единая база данных HA? Также можно изменить выбор базы данных.

Ответ №1:

Вы могли бы рассмотреть возможность использования бессерверной базы данных, такой как Zetabase (https://zetabase.io ) или даже один из облачных продуктов Redis? Я нахожу, что с k8s это позволяет вам придерживаться гораздо ближе к основным парадигмам k8s без необходимости изменять правила, позволяющие управлять механизмами сохранения.

Если нет, я бы рекомендовал найти какой-либо другой способ избежать самостоятельного управления базой данных HA — это обязательно влечет за собой большую сложность, и проще переложить это на кого-то другого IMO.

Ответ №2:

Возможно, вы захотите проверить Crunchy оператор PostgreSQL

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

Высокая доступность

Безопасный, автоматизированный переход на другой ресурс, поддерживаемый решением высокой доступности на основе распределенного консенсуса. Для повышения отказоустойчивости используется антиподность Pod; вы можете настроить, насколько агрессивным это может быть! Сбойные первичные файлы автоматически исправляются, что позволяет ускорить время восстановления.