Курс Ansible - урок 8 - Улучшаем плейбук
Ansible — это невероятная утилита для управления конфигурацией и подготовки к работе, которая позволяет автоматизировать все процессы. В этой серии вы узнаете всё, что нужно знать, чтобы использовать Ansible для повседневных административных задач. В видео № 8 мы рассмотрим несколько способов очистки и объединения плейбуков, с которыми мы работали до сих пор.
install_apache.yml (предыдущая версия)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| ---
- 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 (сокращенный)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| ---
- 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 (далее сокращенный)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| ---
- 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 (еще более сокращенный)
1
2
3
4
5
6
7
8
9
10
11
12
13
| ---
- hosts: all
become: true
tasks:
- name: install apache and php
package:
name:
- "Template:Apache package"
- "Template:Php package"
state: latest
update_cache: yes
|
файл инвентаризации (с добавлением переменных хоста)
1
2
3
4
| 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
|
Оригинал