
Ansible - это отличный инструмент управления конфигурацией, который можно использовать для автоматизации настройки или развертывания на большом количестве серверов с одного экземпляра контроллера. Написание сценариев Ansible для нескольких сред или выполнения различных действий увеличивает сложность, что затрудняет управление всем в одном файле сценария Ansible.
Роли Ansible помогают решить эту проблему. Роли Ansible - это многократно используемые компоненты автоматизации, созданные путем группировки артефактов автоматизации, таких как конфигурационные файлы, задачи, переменные, обработчики и другие. Роль Ansible - это набор задач, которые могут быть выполнены на хосте или группе похожих хостов.
Роли Ansible содержат каталоги: defaults, tasks, vars, files, templates, meta и handlers. Каждый каталог должен содержать файл "main.yml", содержащий соответствующее содержимое. Ниже приведены сведения о каждом каталоге:
Давайте рассмотрим, как создать роли и вызвать их в вашем главном плейбуке:
$ mkdir roles $ cd roles $ ansible-galaxy role init copy_file
Ниже приведена роль "main.yml" "inside copy_file".
$ vim copy_file/tasks/main.yml
- block:
- name: Copy file
copy:
src: medium.conf
dest: /tmp/medium.conf
register: copy_out
rescue:
- debug:
msg: "Error in copying file"Этот "medium.conf" будет помещен в каталог "./copy_file/files/" и будет скопирован на удаленные хосты.
Ниже приведен мастер-плейбук, из которого можно вызвать роль "copy_file":
---
- name: Main playbook to copy file
hosts: all
gather_facts: false
tasks:
- name: import role
import_role:
name: copy_fileЭто поможет нам в повторном использовании роли "copy_file" и уменьшит сложность по сравнению с тем, если все будет в одном плейбуке.
P.S. Если вам понравилась статья, пожалуйста, поддержите ее хлопками. Будьте здоровы.

20.08.2023 18:21
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в 2026-2027 годах? Или это полная лажа?".

20.08.2023 17:46
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.

19.08.2023 18:39
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в частности, магию поплавков и гибкость flexbox.
19.08.2023 17:22
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для чтения благодаря своей простоте. Кроме того, мы всегда хотим проверить самые последние возможности в наших проектах!

18.08.2023 20:33
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий их языку и культуре.

14.08.2023 14:49
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.