Налаштування Ansible для керування конфігурацією в Ubuntu 14.04: створення підручників

Налаштування Ansible для керування конфігурацією в Ubuntu 14.04: створення підручників

Підручники в Ansible — це те, що робить Ansible таким зручним. Підручники дозволяють виконувати рутинні завдання з кількома модулями. Коли ми повинні використовувати підручники?

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

Отже, як ми використовуємо підручники? Давайте розпочнемо!

Крок 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: Розуміння підручників: завдання та обробники

Як бачите, у цьому посібнику є кілька розділів. По-перше, ви побачите hosts:лінію. Це визначає, на яких хостах має виконуватися посібник. Ви також можете побачити, що ми визначили пару змінних, до яких можна отримати доступ і використовувати їх у всьому посібнику. Після цього ви побачите ряд завдань. Ці завдання можна назвати, наприклад, як «Встановити Apache». Друге завдання в прикладі записує в конфігурацію Apache. Тоді ви побачите наступне:

    notify:
    - restart apache

Це повідомляє задачі про виконання певного обробника. У цьому випадку мова йде про обробник restart apache, який можна знайти в нижній частині підручника:

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

Обробники зручні, тому що на прикладі ви можете перезапустити Apache кілька разів. У цьому випадку вам не доведеться повторювати створення завдання щоразу, коли вам потрібно перезапустити Apache, але замість цього ви можете щоразу звертатися до одного і того ж обробника.

Крок 3: Виконання підручників

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

ansible-playbook -i webservers apache.yml

Вітаю! Тепер ви запустили посібник на всіх серверах у вашій webserversкатегорії. Тепер вам залишиться лише дочекатися завершення розгортання, і ви побачите, що Apache успішно встановлено та налаштовано на цих серверах.


Створення блогу Jekyll в Ubuntu 16.04

Створення блогу Jekyll в Ubuntu 16.04

Використання іншої системи? Jekyll — чудова альтернатива WordPress для ведення блогів або обміну вмістом. Для цього не потрібні ніякі бази даних, і це дуже легко i

Як встановити Memcached на Ubuntu 14.04

Як встановити Memcached на Ubuntu 14.04

Memcached — це високопродуктивна система баз даних, яка може допомогти розширити вашу програму. Це дуже швидко, оскільки він не записує на диск, а замість цього t

Встановлення InfluxDB на Ubuntu 14

Встановлення InfluxDB на Ubuntu 14

Вступ InfluxDB — це розподілена база даних часових рядів з відкритим вихідним кодом без зовнішніх залежностей. Так, ви читаєте параграф про відсутність зовнішніх залежностей

Налаштування Fail2ban Ubuntu x64

Налаштування Fail2ban Ubuntu x64

Fail2ban — це програма, яка відстежує активність входу на ваш сервер і блокує невірні IP-адреси. За замовчуванням він блокує IP-адреси на 10 хвилин

Як встановити Vanilla Forum на Ubuntu 16.04

Як встановити Vanilla Forum на Ubuntu 16.04

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити Kanboard на Ubuntu 18.04 LTS

Як встановити Kanboard на Ubuntu 18.04 LTS

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Kanboard на Debian 9

Як встановити Kanboard на Debian 9

Використання іншої системи? Вступ Kanboard — це безкоштовна програма з відкритим вихідним кодом для управління проектами, яка призначена для полегшення та візуалізації

Як встановити Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Як встановити Tiny Tiny RSS Reader на FreeBSD 11 FAMP VPS

Використання іншої системи? Tiny Tiny RSS Reader — це безкоштовний зчитувач і агрегатор новин (RSS/Atom) із відкритим вихідним кодом, що розміщується на власному веб-сторінці.

Як встановити Gitea на Debian 9

Як встановити Gitea на Debian 9

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом на базі Git. Gitea написана на Голанг і є

Як встановити Wiki.js на FreeBSD 11

Як встановити Wiki.js на FreeBSD 11

Використання іншої системи? Wiki.js — це безкоштовний сучасний вікі-додаток з відкритим вихідним кодом, побудований на Node.js, MongoDB, Git і Markdown. Вихідний код Wiki.js є публічним

Як встановити Gitea на Ubuntu 18.04

Як встановити Gitea на Ubuntu 18.04

Використання іншої системи? Gitea — це альтернативна система контролю версій із відкритим вихідним кодом, яка працює на базі git. Gitea написана на Голанг і є

Як встановити MODX Revolution на Ubuntu 16.04 LAMP VPS

Як встановити MODX Revolution на Ubuntu 16.04 LAMP VPS

Використання іншої системи? MODX Revolution — це швидка, гнучка, масштабована, безкоштовна система керування вмістом (CMS) корпоративного рівня з відкритим кодом.

Як встановити Vanilla Forum на CentOS 7

Як встановити Vanilla Forum на CentOS 7

Використання іншої системи? Vanilla forum — це програма з відкритим вихідним кодом, написана на PHP. Це повністю настроюваний, простий у використанні та підтримує зовнішній вигляд

Як встановити dotCMS на Ubuntu 16.04

Як встановити dotCMS на Ubuntu 16.04

Використання іншої системи? DotCMS — це система керування вмістом корпоративного рівня з відкритим вихідним кодом, написана на Java. Він містить майже всі необхідні функції

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Як встановити CMS Pagekit 1.0 на FreeBSD 11 FAMP VPS

Використання іншої системи? Pagekit 1.0 CMS – це красива, модульна, розширювана та легка, безкоштовна система керування вмістом (CMS) з відкритим вихідним кодом.

Як встановити BigTree CMS на Fedora 26 LAMP VPS

Як встановити BigTree CMS на Fedora 26 LAMP VPS

Використання іншої системи? BigTree CMS 4.2 — це швидка та легка, безкоштовна система управління вмістом (CMS) корпоративного рівня з відкритим вихідним кодом з широким

Як встановити MODX Revolution на FreeBSD 11 FAMP VPS

Як встановити MODX Revolution на FreeBSD 11 FAMP VPS

Використання іншої системи? MODX Revolution — це швидка, гнучка, масштабована система управління вмістом (CMS) корпоративного рівня з відкритим кодом, написана на PHP. Це я

Як встановити Concrete5 на CentOS 7

Як встановити Concrete5 на CentOS 7

Використання іншої системи? Concrete5 — це CMS з відкритим вихідним кодом, яка пропонує багато відмінних і корисних функцій, які допомагають редакторам легко створювати вміст.

Встановіть Adminer на Debian/Ubuntu

Встановіть Adminer на Debian/Ubuntu

Adminer — це легка альтернатива phpMyAdmin. Для порівняння, його загальний розмір пакета становить 400 КБ проти 4,2 МБ phpMyAdmin. На відміну від phpMyAdmin, який

Як встановити Nextcloud на Ubuntu 17.04

Як встановити Nextcloud на Ubuntu 17.04

У цьому посібнику ви навчитеся інсталювати програмне забезпечення NextCloud. Ми будемо використовувати Caddy для потреб нашого веб-сервера, оскільки це спрощує налаштування

Повстання машин: застосування ШІ в реальному світі

Повстання машин: застосування ШІ в реальному світі

Штучний інтелект не в майбутньому, він тут прямо в сьогоденні У цьому блозі Прочитайте, як програми штучного інтелекту вплинули на різні сектори.

DDOS-атаки: короткий огляд

DDOS-атаки: короткий огляд

Ви також стали жертвою DDOS-атак і спантеличені методами запобігання? Прочитайте цю статтю, щоб вирішити свої запитання.

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

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

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

Революційні винаходи від Google, які полегшать ваше життя.

Революційні винаходи від Google, які полегшать ваше життя.

Ви хочете побачити революційні винаходи Google і як ці винаходи змінили життя кожної людини сьогодні? Тоді читайте в блозі, щоб побачити винаходи Google.

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Friday Essential: Що сталося з автомобілями, керованими штучним інтелектом?

Концепція самокерованих автомобілів, щоб вирушати в дороги за допомогою штучного інтелекту, є мрією, яку ми давно мріємо. Але, незважаючи на кілька обіцянок, їх ніде не видно. Прочитайте цей блог, щоб дізнатися більше…

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

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

Оскільки наука розвивається швидкими темпами, бере на себе багато наших зусиль, ризики піддати себе незрозумілій Сингулярності також зростає. Читайте, що може означати для нас сингулярність.

Еволюція зберігання даних – інфографіка

Еволюція зберігання даних – інфографіка

Методи зберігання даних можуть розвиватися з моменту народження Даних. Цей блог висвітлює еволюцію зберігання даних на основі інфографіки.

Функціональні можливості шарів еталонної архітектури великих даних

Функціональні можливості шарів еталонної архітектури великих даних

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

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

6 дивовижних переваг використання пристроїв розумного дому в нашому житті

У цьому цифровому світі пристрої розумного дому стали важливою частиною життя. Ось кілька дивовижних переваг пристроїв розумного дому щодо того, як вони роблять наше життя гідним життя та спрощують його.

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

Оновлення доповнення macOS Catalina 10.15.4 спричиняє більше проблем, ніж вирішує

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