↓Перейти к основному содержимому

Курс Ansible - урок 10 - Теги

·252 слов·2 минут
Андрей Двуреченский
Автор
Андрей Двуреченский
Вводный курс Ansible - This article is part of a series.
Part 10: This Article

Курс Ansible - урок 10 - Теги
#

Ansible — это невероятная утилита для управления конфигурацией и подготовки к работе, которая позволяет автоматизировать все процессы. В этой серии вы узнаете всё, что нужно знать, чтобы использовать Ansible для повседневных административных задач. В десятом видео мы узнаем, как добавлять теги к нашим сценариям, чтобы было проще ориентироваться в конкретных задачах, когда мы не хотим каждый раз запускать весь сценарий.

site.yml (с добавленными тегами)
#

 ---
 
 - hosts: all
   become: true
   pre_tasks:
 
   - name: install updates (CentOS)
     tags: always
     dnf:
       update_only: yes
       update_cache: yes
     when: ansible_distribution == "CentOS"
 
   - name: install updates (Ubuntu)
     tags: always
     apt:
       upgrade: dist
       update_cache: yes
     when: ansible_distribution == "Ubuntu"
 
 
 - hosts: web_servers
   become: true
   tasks:
 
   - name: install httpd package (CentOS)
     tags: apache,centos,httpd
     dnf:
       name:
         - httpd
         - php
       state: latest
     when: ansible_distribution == "CentOS"
 
   - name: install apache2 package (Ubuntu)
     tags: apache,apache2,ubuntu
     apt:
       name:
         - apache2
         - libapache2-mod-php
       state: latest
     when: ansible_distribution == "Ubuntu"
 
 - hosts: db_servers
   become: true
   tasks:
 
   - name: install mariadb server package (CentOS)
     tags: centos,db,mariadb
     dnf:
       name: mariadb
       state: latest
     when: ansible_distribution == "CentOS"
 
   - name: install mariadb server
     tags: db,mariadb,ubuntu
     apt:
       name: mariadb-server
       state: latest
     when: ansible_distribution == "Ubuntu"
 
 - hosts: file_servers
   tags: samba
   become: true
   tasks:
 
   - name: install samba package
     tags: samba
     package:
       name: samba
       state: latest

Список доступных тегов в плейбуке
#

ansible-playbook --list-tags site_with_tags.yml

Примеры запуска плейбука, но нацеленного на определенные теги
#

 ansible-playbook --tags db --ask-become-pass site_with_tags.yml
 ansible-playbook --tags centos --ask-become-pass site_with_tags.yml
 ansible-playbook --tags apache --ask-become-pass site_with_tags.yml

Оригинал

Вводный курс Ansible - This article is part of a series.
Part 10: This Article