Chef Автоматизация в Облаках

19
Chef Chef Автоматизация в Облаках Автоматизация в Облаках Владимир Соловьев, Владимир Соловьев, Михаил Щербаков Михаил Щербаков Саратовский государственный университет, Саратовский государственный университет, Grid Dynamics Grid Dynamics

description

Chef Автоматизация в Облаках. Владимир Соловьев, Михаил Щербаков Саратовский государственный университет, Grid Dynamics. Создать Сконфигурировать Обновить. Cloud провайдер. Создать машину (bootstrap instance). Command-line tools. WEB UI. API. Сконфигурировать. Вручную. Скриптами. - PowerPoint PPT Presentation

Transcript of Chef Автоматизация в Облаках

Page 1: Chef Автоматизация в Облаках

ChefChefАвтоматизация в ОблакахАвтоматизация в Облаках

Владимир Соловьев, Владимир Соловьев, Михаил ЩербаковМихаил Щербаков

Саратовский государственный университет,Саратовский государственный университет,

Grid DynamicsGrid Dynamics

Page 2: Chef Автоматизация в Облаках

2

СоздатьСконфигурировать

Обновить

Page 3: Chef Автоматизация в Облаках

3

Создать машину(bootstrap instance)

APIWEB UI

Command-line

tools

Cloud Cloud провайдерпровайдер

Page 4: Chef Автоматизация в Облаках

4

Сконфигурировать

Вручную

Page 5: Chef Автоматизация в Облаках

5

Скриптами

Shell

НЕ масштабируемы

НЕ идемпотентны

ПРИВЯЗАНЫ к дистрибутиву

Shell

Python

Ruby

Shell

Capistrano

Page 6: Chef Автоматизация в Облаках

6

Идемпотентность

Page 7: Chef Автоматизация в Облаках

7

Chef

Конфигурирование? Программирование!

Идемпотентные ресурсы

Объединяем в рецепты

Page 8: Chef Автоматизация в Облаках

8

РецептыШаблоны

Файлы

Атрибуты

Рецепты

Page 9: Chef Автоматизация в Облаках

9

chef-client:chef-server:

OhaiБазаПоискWeb UI

Cookbooks

Page 10: Chef Автоматизация в Облаках

10

chef-solo

OhaiCookbooks

Page 11: Chef Автоматизация в Облаках

11

Ресурсы

Абстракция

Определяет требуемое состояние

1+ провайдеров

Page 12: Chef Автоматизация в Облаках

12

Атрибуты

Привязка к узлу

Индексирование

apache[:listen_ports] = [ 80 ]apache[:listen_ports] = [ 80 ]

Page 13: Chef Автоматизация в Облаках

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

Рецепты

Page 14: Chef Автоматизация в Облаках

14

Пример

web-сервер мониторингnagios-сервер

Chefсервер

Page 15: Chef Автоматизация в Облаках

15

Новый сервер

web-сервер

Новыйweb-сервер

мониторингnagios-сервер

Chefсервер

??

Page 16: Chef Автоматизация в Облаках

16

Как? Рецепт nagios

Search Индексы!

10.1.1.410.1.1.10 Новый web-сервер!

Page 17: Chef Автоматизация в Облаках

17

мониторингnagios-сервер

Chefсервер

10.1.1.410.1.1.10

Обновить конфигурацию

Page 18: Chef Автоматизация в Облаках

18

Chef Opscode

Puppet

CFEngine

Page 19: Chef Автоматизация в Облаках

19

Спасибо за вниманиеСпасибо за внимание!!

Владимир Соловьев, Михаил Щербаков

Саратовский государственный университет,Grid Dynamics