Fabricдля управления серверамиAlex Zaitsev, Chief Cloud Architectat
Какая возникла проблема* человек, работающий с большимколичеством серверов, не станет играть в этуигру1
Что нужно?• Первоначальная настройка сервера• Деплой софта• Управление парком серверов2
Тут нам помогут:PuppetChefFabric* лого нет, но есть картинка по запросу в гугле3
Почему Fabric?• Легкий и простой• Гибкий• Не требует клиентской части4
Fabric - для айтишников,которые любят порядок* В ICQ вряд ли используют fabric5
Fab, fab, fab...пишем первый fabfile - упорядоченный набор методовfrom fabric.api import env, runenv.hosts = [‘localhost’]...
А если много серверов?* датацентр SUN мог бы не стать заброшенным,если бы они использовали автоматизацию на Python 7
А если много серверов?from fabric.api import env, runenv.roledefs = {web: [‘server1’, ‘server2’, ‘server3’],‘dev’: [‘serve...
Михалыч, запускай!from fabric.api import executefrom fabfile import my_taskexecute(my_task)Из кода:# fab my_taskИз консоли:9
Не меняйте привычки# fab my_task -i /path/to/key.pem# fab my_task -H server3 -u dev -p passwd# fab my_task --hosts=server1...
Конфигурирование* Кадр из какого-то фильма ужасов 11
Конфигурированиеenv.user = devenv.parallel = Trueenv.linewise = Trueenv.skip_bad_hosts = Trueenv.connection_attempts = 3en...
Не только запуск командdef copy_to_remote_server():put(‘/local/path’, ‘/remote/path’)def copy_from_remote_server():get(/re...
Буду рад пообщатьсяСаша Зайцевme@azaitsev.comtwitter.com/adeby14
Upcoming SlideShare
Loading in …5
×

Fabric для управления серверами

1,214 views

Published on

Fabric для управления серверами.
Автор: Александр Зайцев (Caspowa)

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,214
On SlideShare
0
From Embeds
0
Number of Embeds
229
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Fabric для управления серверами

  1. 1. Fabricдля управления серверамиAlex Zaitsev, Chief Cloud Architectat
  2. 2. Какая возникла проблема* человек, работающий с большимколичеством серверов, не станет играть в этуигру1
  3. 3. Что нужно?• Первоначальная настройка сервера• Деплой софта• Управление парком серверов2
  4. 4. Тут нам помогут:PuppetChefFabric* лого нет, но есть картинка по запросу в гугле3
  5. 5. Почему Fabric?• Легкий и простой• Гибкий• Не требует клиентской части4
  6. 6. Fabric - для айтишников,которые любят порядок* В ICQ вряд ли используют fabric5
  7. 7. Fab, fab, fab...пишем первый fabfile - упорядоченный набор методовfrom fabric.api import env, runenv.hosts = [‘localhost’]def my_task():run(rm -rf /*)6
  8. 8. А если много серверов?* датацентр SUN мог бы не стать заброшенным,если бы они использовали автоматизацию на Python 7
  9. 9. А если много серверов?from fabric.api import env, runenv.roledefs = {web: [‘server1’, ‘server2’, ‘server3’],‘dev’: [‘server3’, ‘server4’],}@roles(‘web’)def my_task():run(rm -rf /*)8
  10. 10. Михалыч, запускай!from fabric.api import executefrom fabfile import my_taskexecute(my_task)Из кода:# fab my_taskИз консоли:9
  11. 11. Не меняйте привычки# fab my_task -i /path/to/key.pem# fab my_task -H server3 -u dev -p passwd# fab my_task --hosts=server1,server510
  12. 12. Конфигурирование* Кадр из какого-то фильма ужасов 11
  13. 13. Конфигурированиеenv.user = devenv.parallel = Trueenv.linewise = Trueenv.skip_bad_hosts = Trueenv.connection_attempts = 3env.key_filename = ssh_key_pathenv.warn_only = True12
  14. 14. Не только запуск командdef copy_to_remote_server():put(‘/local/path’, ‘/remote/path’)def copy_from_remote_server():get(/remote/path, /local/path)13
  15. 15. Буду рад пообщатьсяСаша Зайцевme@azaitsev.comtwitter.com/adeby14

×