Курс Ansible - урок 8 - Улучшаем плейбук#
Ansible — это невероятная утилита для управления конфигурацией и подготовки к работе, которая позволяет автоматизировать все процессы. В этой серии вы узнаете всё, что нужно знать, чтобы использовать Ansible для повседневных административных задач. В видео № 8 мы рассмотрим несколько способов очистки и объединения плейбуков, с которыми мы работали до сих пор.
install_apache.yml (предыдущая версия)#
---
- hosts: all
become: true
tasks:
- name: update repository index for Ubuntu
apt:
update_cache: yes
when: ansible_distribution == "Ubuntu"
- name: install apache2 package for Ubuntu
apt:
name: apache2
state: latest
when: ansible_distribution == "Ubuntu"
- name: add php support for apache for Ubuntu
apt:
name: libapache2-mod-php for CentOS
state: latest
when: ansible_distribution == "Ubuntu"
- name: update repository index for CentOS
dnf:
update_cache: yes
when: ansible_distribution == "CentOS"
- name: install httpd package for CentOS
dnf:
name: httpd
state: latest
when: ansible_distribution == "CentOS"
- name: add php support for apache for CentOS
dnf:
name: php
state: latest
when: ansible_distribution == "CentOS"
install_apache.yml (сокращенный)#
---
- hosts: all
become: true
tasks:
- name: update repository index
apt:
update_cache: yes
when: ansible_distribution == "Ubuntu"
- name: install apache2 and php packages for Ubuntu
apt:
name:
- apache2
- libapache2-mod-php
state: latest
when: ansible_distribution == "Ubuntu"
- name: update repository index
dnf:
update_cache: yes
when: ansible_distribution == "CentOS"
- name: install apache and php packages for CentOS
dnf:
name:
- httpd
- php
state: latest
when: ansible_distribution == "CentOS"
install_apache.yml (далее сокращенный)#
---
- hosts: all
become: true
tasks:
- name: install apache2 package
apt:
name:
- apache2
- libapache2-mod-php
state: latest
update_cache: yes
when: ansible_distribution == "Ubuntu"
- name: install httpd package
dnf:
name:
- httpd
- php
state: latest
update_cache: yes
when: ansible_distribution == "CentOS"
install_apache.yml (еще более сокращенный)#
---
- hosts: all
become: true
tasks:
- name: install apache and php
package:
name:
- "Template:Apache package"
- "Template:Php package"
state: latest
update_cache: yes
файл инвентаризации (с добавлением переменных хоста)#
172.16.250.132 apache_package=apache2 php_package=libapache2-mod-php
172.16.250.133 apache_package=apache2 php_package=libapache2-mod-php
172.16.250.134 apache_package=apache2 php_package=libapache2-mod-php
172.16.250.248 apache_package=httpd php_package=php_package
