Есть ли опыт работы с MongoDB?

«Есть ли опыт работы с MongoDB?» — вопрос из категории Базы данных, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Да, у меня есть опыт работы с MongoDB в контексте DevOps. Основные задачи включали:

  • Развертывание и оркестрация: Автоматизация установки и настройки standalone-инстансов и кластеров (репликасеты, шардирование) с использованием Ansible и Docker-контейнеров.
  • Резервное копирование и восстановление: Настройка и мониторинг регулярных бэкапов через mongodump и mongorestore, интеграция с облачными хранилищами (S3).
  • Мониторинг и логирование: Настройка экспортера для Prometheus и дашбордов в Grafana для отслеживания метрик (операций, памяти, соединений). Централизация логов в ELK-стек.
  • Безопасность и управление доступом: Конфигурация RBAC, шифрование трафика TLS, управление секретами (пароли, ключи) через HashiCorp Vault.
  • Инфраструктура как код: Описание конфигурации репликасетов и шардов в виде кода (например, в Helm-чартах для развертывания в Kubernetes).

Пример команды для проверки состояния репликасета из скрипта мониторинга:

mongosh --host mongo-replica-0 --eval "rs.status()"