Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MongoDB by Chef | Yauhen Artsiukhou

MongoDB by Chef | Yauhen Artsiukhou

Yauhen Artsiukhou
Meetup #9

Minsk MongoDB User Group

April 04, 2013
Tweet

More Decks by Minsk MongoDB User Group

Other Decks in Technology

Transcript

  1. MongoDB Meetup. April 2013 Хитрый план • Поднять 1, 10,

    100 mongo cluster-ов. • Поиск решения • Chef — управляем серверами • Долго думаем и пишем рецепты • Поднимаем кластер за 30 минут • Добавляем 100 серверов
  2. MongoDB Meetup. April 2013 Инфраструктура как код • Чёткая организация

    • Хранится в git • Доступно каждому • Поваренные книги • Рецепты • Среды • Роли
  3. MongoDB Meetup. April 2013 Chef Run • Процесс стартует на

    ноде • Скачиваются все необходимые рецепты • Фаза компиляции ресурсов • Фаза запуска
  4. MongoDB Meetup. April 2013 Node internals • run_list • roles

    • attributes • environment • chef-client • ohai
  5. MongoDB Meetup. April 2013 Knife Search Exec • Поиск по

    атрибутам • Поиск по ролям • Поиск по окружению • Поиск по рецептам • Запуск по поиску • knife search node "os:linux AND chef_environment:qa" • knife search node "mongodb_clusters_e3s:*" • knife ssh "chef_environment:qa" -x user -i ~/.ssh/epm-e3s "df -h"
  6. MongoDB Meetup. April 2013 Define Mongos' Attributes • Дерево атрибутов

    в качестве настроек • Атрибуты хранят всё: порты, имена, размеры, пути, файлы логов, путь к данным и т.д. • Некоторые атрибуты будут уникальными, чтобы мы могли определить что делать с нодой. • Часть атрибутов будет использовано по умолчанию.
  7. MongoDB Meetup. April 2013 MongoDB Config • Для каждого кластера

    на этой ноде.. • Для каждого config_db в кластере.. • Определить инстанс config_name
  8. MongoDB Meetup. April 2013 MongoDB Shard • Для каждого кластера..

    • Для каждого шарда.. • Определить шард.
  9. MongoDB Meetup. April 2013 MongoDB Shard Replication • Найти все

    кластера на данной ноде • Найти шарды, принадлежащие кластеру • Для каждого шарда найти все сервера с такими же шардами • Отдать команду MongoDB построить реплику из списка
  10. MongoDB Meetup. April 2013 Protecting with firewall • Включаем фаервол

    на всех серверах • Все порты открываем только другим участникам кластера по принципу: каждый имеет доступ к каждому • Добавляем allow_list для админов и приложения
  11. MongoDB Meetup. April 2013 Power of search • Маленький кусок

    кода, но большие возможности. • Тут используется шаблон mogodb_firewall. Заглянем туда.
  12. MongoDB Meetup. April 2013 MongoDB Firewall • Для каждого сервиса

    на этой ноде.. • Для всех разрешённых ip адресов.. • Добавить правило на вход и на выход.