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 в 2023-2024 годах? Или это полная лажа?".
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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип предназначен для представления неделимого значения.