Upgrade to Pro — share decks privately, control downloads, hide ads and more …

SaltStack

Mike Yumatov
February 24, 2013

 SaltStack

PyCon Russia 2013

Mike Yumatov

February 24, 2013
Tweet

More Decks by Mike Yumatov

Other Decks in Programming

Transcript

  1. Один сервер Chef Solo: — сконфигурировать сервер Fabric: — развернуть

    проект на сервере — выполнить команду на сервере
  2. Два и более серверов Chef или Puppet: — сконфигурировать сервер

    Fabric: — развернуть проект на сервере — выполнить команду на сервере
  3. Два и более серверов: Проблемы Fabric: — как выбрать нужные

    сервера? — как проанализировать результаты? — как обработать ошибки?
  4. Два и более серверов SaltStack: — сконфигурировать сервер — развернуть

    проект на сервере — выполнить команду на сервере
  5. — первый релиз в марте 2011 — написан на Python

    — активно развивается — активное сообщество — топ 10 по числу разработчиков на GitHub в 2012
  6. aliases apache pkg archive brew cmd cron config salt.modules.* cp

    debconf daemontools disk django event file gem git grains hg hosts iptables kmod locale monit nginx pillar pip ssh
  7. По имени apollo hermes zeus artemis salt zeus test.ping salt

    'zeus,apollo' test.ping salt 'web.*' test.ping
  8. worker web db mq По роли salt -G 'roles:web' deploy.web

    salt -G 'roles:worker' deploy.worker cache worker
  9. salt.states.* alias pkg cmd cron debconf file gem git hg

    host kmod locale pip group module mount network postgres_database postgres_user postgres_group ssh_auth user virtualenv
  10. Описание состояния file.managed: - name: /etc/vimrc - source: salt://vimrc -

    mode: 644 file.managed( name='/etc/vimrc', source='salt://vimrc', mode=644, ) В формате YAML: Что происходит:
  11. /home/helloworld/app.py: file.managed: - source: salt://helloworld/app.py - user: helloworld - group:

    helloworld - require: - user: helloworld Заливаем приложение
  12. Права доступа client_acl: bob: - 'G@roles:web': - test.* - project.*

    пользователь миньоны команды