0 added
0 removed
Original
2026-01-01
Modified
2026-02-26
1
<p>Коллекции в Ansible - формат распространения связанного набора плейбуков, ролей, модулей и плагинов. Он появился после того, как количество встроенных модулей внутрь Ansible стало настолько огромным, что их поддержка резко усложнилась. Все встроенные модули перенесли в коллекции<a>Ansible Collections</a>. Часть этих модулей распространяются с Ansible сразу, другие же устанавливаются как роли через Ansible Galaxy.</p>
1
<p>Коллекции в Ansible - формат распространения связанного набора плейбуков, ролей, модулей и плагинов. Он появился после того, как количество встроенных модулей внутрь Ansible стало настолько огромным, что их поддержка резко усложнилась. Все встроенные модули перенесли в коллекции<a>Ansible Collections</a>. Часть этих модулей распространяются с Ansible сразу, другие же устанавливаются как роли через Ansible Galaxy.</p>
2
<p>Список установленных коллекций можно посмотреть так:</p>
2
<p>Список установленных коллекций можно посмотреть так:</p>
3
<p>Коллекция<em>ansible.builtin</em>здесь не указана, так как это единственная коллекция модулей, встроенная прямо в ядро Ansible.</p>
3
<p>Коллекция<em>ansible.builtin</em>здесь не указана, так как это единственная коллекция модулей, встроенная прямо в ядро Ansible.</p>
4
<p>Принцип именования коллекций такой же как и у ролей. Первая часть - неймспейс, вторая имя коллекции. Но в отличие от роли, у коллекций есть и третье имя, модуль, который используется. Посмотрим на примере базы данных PostgreSQL. Ниже задача, которая<a>управляет базой данных</a>:</p>
4
<p>Принцип именования коллекций такой же как и у ролей. Первая часть - неймспейс, вторая имя коллекции. Но в отличие от роли, у коллекций есть и третье имя, модуль, который используется. Посмотрим на примере базы данных PostgreSQL. Ниже задача, которая<a>управляет базой данных</a>:</p>
5
<p>Или другой пример - управление таблицами в существующей базе данных:</p>
5
<p>Или другой пример - управление таблицами в существующей базе данных:</p>
6
<p>PostgreSQL поставляется вместе с Ansible, поэтому его можно использовать напрямую, как и остальные коллекции из списка выше. Если коллекция не входит в стандартную поставку, то ее можно установить через ansible-galaxy. Ниже пример с<a>Nginx</a>.</p>
6
<p>PostgreSQL поставляется вместе с Ansible, поэтому его можно использовать напрямую, как и остальные коллекции из списка выше. Если коллекция не входит в стандартную поставку, то ее можно установить через ansible-galaxy. Ниже пример с<a>Nginx</a>.</p>
7
<p>Коллекция<em>nginxinc.nginx_core</em>содержит внутри набор ролей, для установки и настройки Nginx. Для примера:</p>
7
<p>Коллекция<em>nginxinc.nginx_core</em>содержит внутри набор ролей, для установки и настройки Nginx. Для примера:</p>
8
<p>Или более<a>сложный вариант</a>, с конфигурацией.</p>
8
<p>Или более<a>сложный вариант</a>, с конфигурацией.</p>
9
<h2>Автоматическая установка</h2>
9
<h2>Автоматическая установка</h2>
10
<p>Ansible поддерживает автоматическую установку коллекции по такому же принципу как это делается с ролями. Для этого создается файл<em>requirements.yml</em>, например, в том месте где запускается ansible. Туда добавляется список нужных коллекций:</p>
10
<p>Ansible поддерживает автоматическую установку коллекции по такому же принципу как это делается с ролями. Для этого создается файл<em>requirements.yml</em>, например, в том месте где запускается ansible. Туда добавляется список нужных коллекций:</p>
11
<p>Затем выполняется установка:</p>
11
<p>Затем выполняется установка:</p>
12
12