Может ли кто-нибудь объяснить преимущества / проблемы размещения базы данных в Kubernetes ... по сравнению с использованием фактического ресурса базы данных облака?
Как и предыдущий отличный ответ отметил:
По сути, это компромисс: удобство против контроля
В дополнение к предыдущему примеру (Афина), взгляните также на RDS и посмотрите, что вам понадобится для себя (зачем, как уже говорилось):
- Автоматическое резервное копирование
- Мультизональные развертывания
- Снимки
- Обновления двигателя
- Чтение реплик
и другие навороты, которые идут с управляемым обслуживанием, в отличие от самостоятельного / управляемого.
Но это не просто удобство / контроль, на который я постараюсь пролить свет на этот пост:
Kubernetes добавляет туда еще один уровень абстракции (пакеты, сервисы ...), и в зависимости от способа обработки хранилища (постоянные тома) вы можете иметь два дополнительных соображения:
- Скорость доступа (в зависимости от вашего случая использования это может быть небрежно или показывать пробку).
- Хранилище, имеющееся у вас под рукой, может быть не оптимизировано для ввода-вывода типа реляционной базы данных (или ограничивать вас для эффективного планирования модулей). По тем же причинам, по которым вам не рекомендуется запускать db в NFS, например.
Есть несколько недавних выступлений на конференции по kubernetes, в которых указывалось, что база данных для kubernetes велика, нет-нет (хотя это очень мнительно, мы запускаем базы данных mysql и postgresql со средней нагрузкой в k8s) и большой ввод / вывод с высокой загрузкой / быстротой В некоторой степени сложно получить права на k8s, в отличие от кого-то, кто уже все отлично настроил для вас в управляемом облачном решении.
В заключение:
Все дело в удобстве, управлении и возможностях.