Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами
Титов Александр, Игорь КурочкинSkype
• Один сервер - ручное администрирование• 5 серверов - набор скриптов, спагетти из shell кода
• 20 серверов - ?
Эволюция
• Начинают возникать проблемы из-за разницы конфигураций
• Требуется большое количество документации• Стоимость поддержки сильно превышает стоимость внесения изменения
• Надо управлять не отдельной машиной, а кластером
Больше 20 машин - большая система
• Суперкомпьютеры• Google
• Amazon
Чужой опыт
Своя платформа?
• система автоматической установки машин (IaaS)
• система управления конфигурацией (PaaS)
• абстрактные сервисы - мониторинг, бэкапы (SaaS)
• абстрактное управление
• Поддержка CentOS, RHEL, Debian, Ubuntu
• Физические и виртуальные машины• Удобные инструменты - CLI, Web, API
• Передача сервера в Chef
Cobbler. Автоматическая установка машин
Chef. Управление конфигурацией
• Ohai (база данных о хостах)
• Cookbooks
• Roles
• Environments
Chef. Поиск
• Zabbix API
• Hosts, Groups, Templates
• Applications (Items, Triggers, Graphs)
Мониторинг
• Конфигурация в Chef
• Бэкапим статику, БД и репозитории
• Автоматизируем
Бэкапы
• LVM
• Firewall
• Accounts
• Repos
Лего
• создание разделов и директорий• создание пользователей и групп• поиск других хостов• установка пакетов, создание конфигов и стартовых скриптов
• открытие портов, добавление проверок и задач для бэкапа• настройка системы деплоя
Cервис
• Система контроля версий• Самодокументирование• Общий стиль, подход, правила
Chef как средство командной работы
Knife. Абстрактное управление• knife search node 'role:mysql' -r
• knife ssh "role:ruby" "sudo /etc/init.d/nginx-passenger status"
• knife ssh "role:ruby" interactive
• knife ssh "role:ruby" tmux
• knife ec2 server create -r "role[ruby]"
• knife exec -E 'nodes.all {|n| puts "#{n.name} has #{n.memory.total} free memory"}'
Полезные ссылки• http://wiki.opscode.com/display/chef/Home
• http://jtimberman.posterous.com/
• http://vagrantup.com/
• https://github.com/jedi4ever/veewee
• http://blog.frameos.org/
• http://blog.cyclecomputing.com/
• http://www.jedi.be/blog/
Вопросы?контакты:
mail: [email protected], [email protected]: @osminog, @ igoritl
Top Related