Notice: file_put_contents(): Write of 20288 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50
Библиотека девопса | DevOps, SRE, Sysadmin@devopsslib P.3701
DEVOPSSLIB Telegram 3701
📖 Как не дублировать плейбуки в Ansible

Роли — это как готовые наборы LEGO для вашей инфраструктуры. Вместо того чтобы писать однообразный код заново, вы собираете инфраструктуру из модулей. Сейчас покажем как это сделать.

1. Подготовка структуры роли

Для создания роли можно самостоятельно подготовить набор директорий:
myrole/
├── tasks/ # Основные задачи (playbook внутри роли)
│ └── main.yml # Точка входа задач
├── handlers/ # Обработчики — команды, которые срабатывают при изменениях
│ └── main.yml
├── files/ # Статические файлы для копирования на целевые хосты
├── templates/ # Jinja2-шаблоны — конфиги с переменными
├── defaults/ # Значения переменных по умолчанию (низший приоритет)
│ └── main.yml
├── vars/ # Переменные с более высоким приоритетом
│ └── main.yml
├── meta/ # Метаинформация о роли, в том числе зависимости от других ролей
│ └── main.yml
├── library/ # Пользовательские модули (если нужны)
├── tests/ # Плейбуки и окружение для тестирования роли
└── README.md # Документация по роли — зачем, как использовать


Но для этого есть лайфхак — команда ansible-galaxy init myrole. С помощью неё можно создать всю структуру без единого mkdir.

2. Пишем задачи

Роль в Ansbile это по сути отдельный плейбук. Внутри tasks/main.yml мы опишем свои таски, которые он должен выполнять.

Пример: установим htop и создадим файл приветствия.
- name: Устанавливаем htop
apt:
name: htop
state: present
become: yes

- name: Создаём файл приветствия
copy:
dest: /tmp/welcome.txt
content: "Hello from Ansible role!"


3. Подключим роль в плейбуке

В основной плейбук нужно добавить нашу роль:
- hosts: all
become: yes
roles:
- myrole


4. Всё готово к запуску.

Остаётся только воспользоваться командой:
ansible-playbook -i inventory.ini site.yml


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

➡️ Посмотреть роли сообщества

🐸Библиотека devops'a #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍82🔥2



tgoop.com/devopsslib/3701
Create:
Last Update:

📖 Как не дублировать плейбуки в Ansible

Роли — это как готовые наборы LEGO для вашей инфраструктуры. Вместо того чтобы писать однообразный код заново, вы собираете инфраструктуру из модулей. Сейчас покажем как это сделать.

1. Подготовка структуры роли

Для создания роли можно самостоятельно подготовить набор директорий:

myrole/
├── tasks/ # Основные задачи (playbook внутри роли)
│ └── main.yml # Точка входа задач
├── handlers/ # Обработчики — команды, которые срабатывают при изменениях
│ └── main.yml
├── files/ # Статические файлы для копирования на целевые хосты
├── templates/ # Jinja2-шаблоны — конфиги с переменными
├── defaults/ # Значения переменных по умолчанию (низший приоритет)
│ └── main.yml
├── vars/ # Переменные с более высоким приоритетом
│ └── main.yml
├── meta/ # Метаинформация о роли, в том числе зависимости от других ролей
│ └── main.yml
├── library/ # Пользовательские модули (если нужны)
├── tests/ # Плейбуки и окружение для тестирования роли
└── README.md # Документация по роли — зачем, как использовать


Но для этого есть лайфхак — команда ansible-galaxy init myrole. С помощью неё можно создать всю структуру без единого mkdir.

2. Пишем задачи

Роль в Ansbile это по сути отдельный плейбук. Внутри tasks/main.yml мы опишем свои таски, которые он должен выполнять.

Пример: установим htop и создадим файл приветствия.
- name: Устанавливаем htop
apt:
name: htop
state: present
become: yes

- name: Создаём файл приветствия
copy:
dest: /tmp/welcome.txt
content: "Hello from Ansible role!"


3. Подключим роль в плейбуке

В основной плейбук нужно добавить нашу роль:
- hosts: all
become: yes
roles:
- myrole


4. Всё готово к запуску.

Остаётся только воспользоваться командой:
ansible-playbook -i inventory.ini site.yml


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

➡️ Посмотреть роли сообщества

🐸Библиотека devops'a #буст

BY Библиотека девопса | DevOps, SRE, Sysadmin




Share with your friend now:
tgoop.com/devopsslib/3701

View MORE
Open in Telegram


Telegram News

Date: |

How to Create a Private or Public Channel on Telegram? The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. How to Create a Private or Public Channel on Telegram? Telegram message that reads: "Bear Market Screaming Therapy Group. You are only allowed to send screaming voice notes. Everything else = BAN. Text pics, videos, stickers, gif = BAN. Anything other than screaming = BAN. You think you are smart = BAN. Image: Telegram.
from us


Telegram Библиотека девопса | DevOps, SRE, Sysadmin
FROM American