Большая книга рецептов или часто задаваемые вопросы...
Transcript of Большая книга рецептов или часто задаваемые вопросы...
Большая книга рецептов или часто задаваемые вопросы по управлению сложными системами
Титов Александр, Игорь Курочкин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