0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>В этой статье мы вкратце рассмотрим ключевые особенности и структуру Ansible, его установку и запуск, а также модули и архитектуру.</p>
1
<p>В этой статье мы вкратце рассмотрим ключевые особенности и структуру Ansible, его установку и запуск, а также модули и архитектуру.</p>
2
<p><strong>Ansible</strong>- система с открытым исходным кодом. Задача Ansible - автоматизация поставки ПО, развертывание приложений и управление конфигурацией.</p>
2
<p><strong>Ansible</strong>- система с открытым исходным кодом. Задача Ansible - автоматизация поставки ПО, развертывание приложений и управление конфигурацией.</p>
3
<h4><strong>Особенности</strong>:</h4>
3
<h4><strong>Особенности</strong>:</h4>
4
<p>•<strong>безагентность</strong>. В клиенте не установлено ПО либо агент, который общается с сервером; •<strong>идемпотентность</strong>. Вне зависимости от того, сколько раз вызывается операция, результат не меняется; •<strong>простота и расширяемость</strong>. Ansible написан на Python и использует для написания команд YAML. Два этих языка считают довольно простыми в изучении.</p>
4
<p>•<strong>безагентность</strong>. В клиенте не установлено ПО либо агент, который общается с сервером; •<strong>идемпотентность</strong>. Вне зависимости от того, сколько раз вызывается операция, результат не меняется; •<strong>простота и расширяемость</strong>. Ansible написан на Python и использует для написания команд YAML. Два этих языка считают довольно простыми в изучении.</p>
5
<h4>Установка и запуск, как правило, затруднений не вызывают:</h4>
5
<h4>Установка и запуск, как правило, затруднений не вызывают:</h4>
6
<p>Если у вас другая ОС, добро пожаловать на<a>страницу с инструкцией</a>.</p>
6
<p>Если у вас другая ОС, добро пожаловать на<a>страницу с инструкцией</a>.</p>
7
<h2>Структура</h2>
7
<h2>Структура</h2>
8
<h4>Модули</h4>
8
<h4>Модули</h4>
9
<p>Небольшие программы, которые выполняют на сервере определенную работу. Допустим, вместо запуска команды sudo apt-get install htop, мы можем задействовать модуль apt и установить htop:</p>
9
<p>Небольшие программы, которые выполняют на сервере определенную работу. Допустим, вместо запуска команды sudo apt-get install htop, мы можем задействовать модуль apt и установить htop:</p>
10
<p>Применение модуля позволит узнать, установлен он либо нет.</p>
10
<p>Применение модуля позволит узнать, установлен он либо нет.</p>
11
<h4>Плагины</h4>
11
<h4>Плагины</h4>
12
<p>Фрагменты кода, расширяющие основные функциональные возможности. Ansible поставляется с рядом удобных плагинов, однако никто не мешает написать свой.</p>
12
<p>Фрагменты кода, расширяющие основные функциональные возможности. Ansible поставляется с рядом удобных плагинов, однако никто не мешает написать свой.</p>
13
<h4>Инвентаризация хостов</h4>
13
<h4>Инвентаризация хостов</h4>
14
<p>Для предоставления перечня хостов, надо обозначить список, который находится в файле инвентаризации. Его содержание напоминает файл hosts. В простейшем виде - это одна строка:</p>
14
<p>Для предоставления перечня хостов, надо обозначить список, который находится в файле инвентаризации. Его содержание напоминает файл hosts. В простейшем виде - это одна строка:</p>
15
<h4>Playbooks</h4>
15
<h4>Playbooks</h4>
16
<p>Ansible playbooks представляет собой метод отправки команд на удаленные ПК посредством скриптов. Таким образом, не обязательно персонально применять Ansible-команды для удаленной настройки ПК из командной строки - можно сразу настраивать целые сложные среды и передавать скрипт одной либо нескольким системам.</p>
16
<p>Ansible playbooks представляет собой метод отправки команд на удаленные ПК посредством скриптов. Таким образом, не обязательно персонально применять Ansible-команды для удаленной настройки ПК из командной строки - можно сразу настраивать целые сложные среды и передавать скрипт одной либо нескольким системам.</p>
17
<h4>group_vars</h4>
17
<h4>group_vars</h4>
18
<p>Это файл, содержащий набор переменных, к примеру, имя пользователя и пароль БД.</p>
18
<p>Это файл, содержащий набор переменных, к примеру, имя пользователя и пароль БД.</p>
19
<h4>Роли</h4>
19
<h4>Роли</h4>
20
<p>Это способ сгруппировать ряд задач в один контейнер, что позволит эффективно автоматизировать работу посредством понятной структуры каталогов.</p>
20
<p>Это способ сгруппировать ряд задач в один контейнер, что позволит эффективно автоматизировать работу посредством понятной структуры каталогов.</p>
21
<h4>Обработчики</h4>
21
<h4>Обработчики</h4>
22
<p>Это списки задач, на деле не отличающиеся от обычных задач, на которые ссылается уникальное имя и которые оповещаются уведомителями. Вне зависимости от того, сколько именно задач уведомляет обработчик, запускается он лишь один раз и после завершения всех задач.</p>
22
<p>Это списки задач, на деле не отличающиеся от обычных задач, на которые ссылается уникальное имя и которые оповещаются уведомителями. Вне зависимости от того, сколько именно задач уведомляет обработчик, запускается он лишь один раз и после завершения всех задач.</p>
23
<h4>Теги</h4>
23
<h4>Теги</h4>
24
<p>Если речь идет о playbook с большим объемом, бывает полезно запускать лишь определенную часть конфигурации.</p>
24
<p>Если речь идет о playbook с большим объемом, бывает полезно запускать лишь определенную часть конфигурации.</p>
25
<h2>Архитектура Ansible</h2>
25
<h2>Архитектура Ansible</h2>
26
<p>Архитектура относительно проста для понимания, что можно видеть из рисунка ниже:</p>
26
<p>Архитектура относительно проста для понимания, что можно видеть из рисунка ниже:</p>
27
<p>Существует один механизм автоматизации, напрямую взаимодействующий с пользователем, который пишет и выполняет playbooks. Также он способен взаимодействовать со службами (размещены в облаке), инструментами управления конфигурацией либо БД. Основные компоненты механизма автоматизации -- инвентаризация, подключаемые модули, API-интерфейсы, облако, хосты и т. д.</p>
27
<p>Существует один механизм автоматизации, напрямую взаимодействующий с пользователем, который пишет и выполняет playbooks. Также он способен взаимодействовать со службами (размещены в облаке), инструментами управления конфигурацией либо БД. Основные компоненты механизма автоматизации -- инвентаризация, подключаемые модули, API-интерфейсы, облако, хосты и т. д.</p>
28
<p>Источники: -- "<a>Ansible</a>"; -- "<a>Ansible Tutorial Guide для начинающих</a>"; -- "<a>Ansible In Action</a>".</p>
28
<p>Источники: -- "<a>Ansible</a>"; -- "<a>Ansible Tutorial Guide для начинающих</a>"; -- "<a>Ansible In Action</a>".</p>
29
29