More Related Content
Similar to Михаил Юматов: SaltStack
Similar to Михаил Юматов: SaltStack (20)
Михаил Юматов: SaltStack
- 3. Один сервер
Fabric:
— сконфигурировать сервер
— развернуть проект на сервере
— выполнить команду на сервере
- 4. Один сервер
Chef Solo:
— сконфигурировать сервер
Fabric:
— развернуть проект на сервере
— выполнить команду на сервере
- 5. Два и более серверов
Chef или Puppet:
— сконфигурировать сервер
Fabric:
— развернуть проект на сервере
— выполнить команду на сервере
- 6. Два и более серверов: Проблемы
Fabric:
— как выбрать нужные сервера?
— как проанализировать результаты?
— как обработать ошибки?
- 7. Два и более серверов
SaltStack:
— сконфигурировать сервер
— развернуть проект на сервере
— выполнить команду на сервере
- 8. Chef и Puppet
— системы управления конфигурациями
SaltStack
— система параллельного выполнения команд
- 9. — первый релиз в марте 2011
— написан на Python
— активно развивается
— активное сообщество
— топ 10 по числу разработчиков на GitHub в 2012
- 16. cron pip
apache django
gem
pillar pkg
cp
debconf kmod
brew grains iptables
hg config
event
ssh
salt.modules.* monit
file
git
daemontools nginx
locale
archive
hosts aliases
disk cmd
- 21. ? ?
?
Как различить?
?
- 22. apollo hermes
zeus
По имени
salt zeus test.ping
salt 'zeus,apollo' test.ping
salt 'web.*' test.ping
artemis
- 24. worker web
worker
db
По роли
cache
salt -G 'roles:web' deploy.web
salt -G 'roles:worker' deploy.worker
mq
- 28. cron pip
postgres_user
module gem
pkg
network
debconf kmod
postgres_database
hg user
group
virtualenv
salt.states.*
file
mount git
postgres_group
locale
ssh_auth host alias
cmd
- 29. Описание состояния
В формате YAML: Что происходит:
file.managed: file.managed(
- name: /etc/vimrc name='/etc/vimrc',
- source: salt://vimrc source='salt://vimrc',
- mode: 644 mode=644,
)
- 30. Состояния группируются по идентификаторам
nginx:
pkg.installed:
- refresh: true
service.running:
- enable: true
- require:
- pkg: nginx
- 38. Создаем конфиг для upstart'а
/etc/init/gunicorn.conf:
file.managed:
- source: salt://helloworld/gunicorn.conf
- 39. Описываем сервис
gunicorn:
service.running:
- watch:
- file: /home/helloworld/app.py
- virtualenv: /home/helloworld/.env
- file: /etc/init/gunicorn.conf
- 40. Создаем конфиг для nginx'а
helloworld:
nginx_site.managed:
- source: salt://helloworld/nginx.conf
- enable: true
- 44. Права доступа
миньоны
client_acl:
bob:
- 'G@roles:web':
- test.*
- project.*
команды
пользователь
- 45. Спасибо за внимание!
Вопросы?
— saltstack.org — twitter.com/yumike
— github.com/yumike/pycon2013 — github.com/yumike
— yumatov@trilan.ru