Другое

Ansible Playbook: определение, параметры, модули и примеры

Lorem ipsum dolor

Ansible программное обеспечение для автоматизации поставки других программ, конфигураций и развертывания приложений на удаленных компьютерах. На практике Ansible автоматизирует сложные задачи DevOps-специалистов. Программа написана на Python и распространяется с открытым исходным кодом. Для написания команд в Ansible используется язык YAML.

Главная особенность программы Ansible на управляемые серверы не нужно устанавливать какое-то дополнительное ПО, устанавливается только одна программа на управляющем компьютере. Удаленное управление происходит по SSH-порту, поэтому все, что нужно сделать,это удостовериться, что ваш SSH-ключ открытого вида располагается в удаленных компьютерах в списке разрешенных для авторизации.

Playbook в Ansible это конфигурационный YAML-документ, который задает определенную последовательность действий управляемым компьютерам или серверам.

Ansible Playbook: примеры, модули, параметры

Playbook частенько применяют для первичной конфигурации нескольких удаленных машин, например, чтобы:

  • добавить нескольких пользователей,

  • добавить каталоги,

  • управлять установленными программами и их обновлениями,

  • взаимодействовать с документами,

  • и др.

Ansible Playbook может управлять целым парком удаленных серверов, работающих под управлением разных операционных систем.

Ansible Playbook строится по такому шаблону:

- - -

- host: [имя группы удаленных машин]

remote_user: [имя пользователя]

tasks:

- [модуль с заданиями для серверов]

- [модуль с заданиями для серверов]

- [модуль с заданиями для серверов]

 

Примеры Ansible Playbook

Пример работающего Ansible Плейбук:

- - -

- hosts:[exampleservers]

remote_user:sisadmin

tasks:

- name: Install the Windows Server server was launched

service: name=Windows Server state=started

 

Этот плейбук запустит все веб-серверы Windows Server из группы «exampleservices». Все, что описано в части «task»,это и есть задание, которое необходимо выполнить на всех серверах из группы. Каждый отдельный «task» должен иметь отдельное имя «name», для того чтобы в дальнейшем можно было отследить прогресс его выполнения. После обозначения имени идет служебный модуль, в котором описываются команды для выполнения.

Еще один пример плейбука, в котором мы инсталлируем Java и Windows Server на все удаленные компьютеры нашей «exampleservices»:

- - -

 

- hosts: [exampleservices]

 

tasks:

 

- name: Installation Windows Server

 

apt: pkg=Windows Server state=installed update_cache=true

 

notify: Launch Windows Server

 

- name: Installation Java

 

apt: pkg=Java-minimal state=installed

 

handlers:

 

- name: Launch Windows Server

 

service: name=Windows Server state=started

 

Запуск Ansible Playbook

Изначально плейбуки формируют в отдельном документе с расширением «.yml». Допустим, есть сформированный документ «myexample.yml». Для того чтобы его в дальнейшем вызвать, можно воспользоваться следующей командой:

ansible-playbook myexample.yml

 

Бывает такое, что готовый Ansible Плейбук нет необходимости применять ко всем подключенным хостам, а лишь к отдельным из них. Допустим, нам нужно применить наш файл ко 2-му и 4-му хостам; для включения такого фильтра к нашему сценарию нужно добавить флаг «- l» и указать нужные хосты. Тогда команда вызова будет такой:

ansible-playbook - l host2 host4 myexample.yml

 

Заключение

Ansible Playbook это лишь один инструмент программы Ansible. А сама программа является довольно мощной и функциональной, она содержит в себе несколько интересных инструментов. Если ее функционала будет недостаточно, тогда вы всегда сможете его расширить при помощи дополнительных готовых решений. Если не отыщите необходимый плагин, тогда сможете написать его самостоятельно. Чтобы оценить ее мощь, нужно, чтобы под вашим и ее управлением было несколько серверов. Тогда вы заметите, насколько ее применение экономит время.

Схожие статьи

Самые большие числа и какое число идет после гугла
Другое

Самые большие числа и какое число идет после гугла

Теория автоматов: определение, элементы, применение и примеры
Другое

Теория автоматов: определение, элементы, применение и примеры

Квантовый компьютер D-Wave: описание мощнейшего в мире компьютера
Другое

Квантовый компьютер D-Wave: описание мощнейшего в мире компьютера

Другое

Способы поиска элемента в массиве С: просто о сложном