Публикация

Курс Ansible - урок 8 - Улучшаем плейбук

Курс Ansible - урок 8 - Улучшаем плейбук

Курс 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

Оригинал

Публикация защищена лицензией CC BY 4.0 .