Telegram Group & Telegram Channel
📖 Как не дублировать плейбуки в 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



tg-me.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:
tg-me.com/devopsslib/3701

View MORE
Open in Telegram


Библиотека devops’а Telegram | DID YOU KNOW?

Date: |

Telegram hopes to raise $1bn with a convertible bond private placement

The super secure UAE-based Telegram messenger service, developed by Russian-born software icon Pavel Durov, is looking to raise $1bn through a bond placement to a limited number of investors from Russia, Europe, Asia and the Middle East, the Kommersant daily reported citing unnamed sources on February 18, 2021.The issue reportedly comprises exchange bonds that could be converted into equity in the messaging service that is currently 100% owned by Durov and his brother Nikolai.Kommersant reports that the price of the conversion would be at a 10% discount to a potential IPO should it happen within five years.The minimum bond placement is said to be set at $50mn, but could be lowered to $10mn. Five-year bonds could carry an annual coupon of 7-8%.

What is Secret Chats of Telegram

Secret Chats are one of the service’s additional security features; it allows messages to be sent with client-to-client encryption. This setup means that, unlike regular messages, these secret messages can only be accessed from the device’s that initiated and accepted the chat. Additionally, Telegram notes that secret chats leave no trace on the company’s services and offer a self-destruct timer.

Библиотека devops’а from us


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