Chef Автоматизация в Облаках
description
Transcript of Chef Автоматизация в Облаках
ChefChefАвтоматизация в ОблакахАвтоматизация в Облаках
Владимир Соловьев, Владимир Соловьев, Михаил ЩербаковМихаил Щербаков
Саратовский государственный университет,Саратовский государственный университет,
Grid DynamicsGrid Dynamics
2
СоздатьСконфигурировать
Обновить
3
Создать машину(bootstrap instance)
APIWEB UI
Command-line
tools
Cloud Cloud провайдерпровайдер
4
Сконфигурировать
Вручную
5
Скриптами
Shell
НЕ масштабируемы
НЕ идемпотентны
ПРИВЯЗАНЫ к дистрибутиву
Shell
Python
Ruby
Shell
Capistrano
6
Идемпотентность
7
Chef
Конфигурирование? Программирование!
Идемпотентные ресурсы
Объединяем в рецепты
8
РецептыШаблоны
Файлы
Атрибуты
Рецепты
9
chef-client:chef-server:
OhaiБазаПоискWeb UI
Cookbooks
10
chef-solo
OhaiCookbooks
11
Ресурсы
Абстракция
Определяет требуемое состояние
1+ провайдеров
12
Атрибуты
Привязка к узлу
Индексирование
apache[:listen_ports] = [ 80 ]apache[:listen_ports] = [ 80 ]
13
web = search(:node, "role:web").map { |cfg| [cfg["ipaddress"], cfg["fqdn"] ]}
web.each do |w| template "/etc/nagios/webs/#{w[1]}" do variables :web => w source webs_nagios.erb endend
service "nagios" do action :reloadend
Рецепты
14
Пример
web-сервер мониторингnagios-сервер
Chefсервер
15
Новый сервер
web-сервер
Новыйweb-сервер
мониторингnagios-сервер
Chefсервер
??
16
Как? Рецепт nagios
Search Индексы!
10.1.1.410.1.1.10 Новый web-сервер!
17
мониторингnagios-сервер
Chefсервер
10.1.1.410.1.1.10
Обновить конфигурацию
18
Chef Opscode
Puppet
CFEngine
19
Спасибо за вниманиеСпасибо за внимание!!
Владимир Соловьев, Михаил Щербаков
Саратовский государственный университет,Grid Dynamics