Настройка Ansible для управления конфигурацией в Ubuntu 14.04: создание Playbooks

Plays в Ansible - вот что делает Ansible таким удобным. Playbooks позволяют выполнять рутинные задачи с несколькими модулями. Когда мы должны использовать playbooks?

Давайте посмотрим на обычную задачу обслуживания: обновление ваших серверов. Мы не должны использовать сборник пьес для этого, учитывая , что это только одна команда: apt-get update. Мы можем просто использовать одну команду для обновления программного обеспечения на всех наших серверах. Однако для развертывания чего-либо вроде веб-сервера или сервера базы данных требуется больше работы: не просто одна команда. Playbooks являются префектом для этого случая. Они позволяют использовать несколько модулей, которые являются командами, которые могут быть выполнены на сервере. Например, существуют модули для копирования файлов и выполнения команд оболочки по SSH.

Так, как мы используем playbooks? Давайте начнем!

Шаг 1: Создание .ymlфайла YAML ( )

Ansible playbooks записываются в виде .ymlфайлов; Ansible не может интерпретировать другие форматы. Пример Ansible playbook выглядит следующим образом:

---
- hosts: webservers
  vars:
    http_port: 80
    max_clients: 200
  remote_user: root
  tasks:
  - name: ensure apache is at the latest version
    yum: pkg=httpd state=latest
  - name: write the apache config file
    template: src=/srv/httpd.j2 dest=/etc/httpd.conf
    notify:
    - restart apache
  - name: ensure apache is running (and enable it at boot)
    service: name=httpd state=started enabled=yes
  handlers:
    - name: restart apache
      service: name=httpd state=restarted

(Взято из документации Ansible)

Шаг 2: Понимание playbooks: задачи и обработчики

Как видите, в этой пьесе есть несколько разделов. Прежде всего, вы увидите hosts:линию. Это определяет, на каких хостах должна быть выполнена playbook. Вы также можете видеть, что мы определили пару переменных, к которым можно обращаться и которые можно использовать в книге. Затем вы увидите ряд задач. Эти задачи можно назвать, например, как «Установить Apache». Вторая задача в примере записывает в конфигурацию Apache. Затем вы увидите следующее:

    notify:
    - restart apache

Это говорит о задаче выполнить определенный обработчик. В данном случае это относится к обработчику restart apache, который можно найти в нижней части playbook:

  handlers:
    - name: restart apache
      service: name=httpd state=restarted

Обработчики удобны, потому что, на примере, вы можете захотеть перезапустить Apache несколько раз. В этом случае вам не нужно повторять создание задачи каждый раз, когда вам нужно перезапустить Apache, но вместо этого вы можете просто обращаться к одному и тому же обработчику каждый раз.

Шаг 3: Выполнение playbooks

Скажем, вы хотите развернуть сервер Apache. Ну, как вы можете видеть, мы только что создали книгу для этого. Выполнение playbooks может быть сделано с помощью ansible-playbookкоманды. Например, если бы мы выполнили эту пьесу на всех серверах в этой webserversкатегории (вам нужно, чтобы эта категория была в вашем /etc/ansible/hostsфайле), вы бы выполнили следующую команду, учитывая, что имя вашего файла плейбука apache.yml:

ansible-playbook -i webservers apache.yml

Поздравляем! Теперь вы выполнили playbook на всех серверах в вашей webserversкатегории. Теперь вам нужно просто дождаться завершения развертывания, и вы увидите, что Apache успешно установлен и настроен на этих серверах.

Оставить комментарий

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Изучение 26 методов анализа больших данных: часть 1

Функциональные возможности уровней эталонной архитектуры больших данных

Функциональные возможности уровней эталонной архитектуры больших данных

Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.

6 невероятных фактов о Nintendo Switch

6 невероятных фактов о Nintendo Switch

Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.

Технические обещания, которые все еще не выполнены

Технические обещания, которые все еще не выполнены

Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.

Как ИИ может вывести автоматизацию процессов на новый уровень?

Как ИИ может вывести автоматизацию процессов на новый уровень?

Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.

Технологическая сингулярность: далекое будущее человеческой цивилизации?

Технологическая сингулярность: далекое будущее человеческой цивилизации?

По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA: как долго она может оставаться жизнеспособным методом различения между человеком и ИИ?

CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?

Телемедицина и удаленное здравоохранение: будущее уже здесь

Телемедицина и удаленное здравоохранение: будущее уже здесь

Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Вы когда-нибудь задумывались, как хакеры зарабатывают деньги?

Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Обновление дополнения к macOS Catalina 10.15.4 вызывает больше проблем, чем решает

Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше