The Red Hat Certified Specialist in Ansible Automation exam (EX407) – это новая сертификационная программа Red Hat, которая проверяет ваши навыки использования Ansible для автоматизации конфигурации систем и приложений.
Серия будет называться «The Red Hat Certified Specialist in Ansible Automation exam (EX407)» и охватывает следующие цели экзамена на основе Red Hat Enterprise Linux 7.5 и Ansible 2.7, которые мы собираемся охватить в этой серии Ansible:
Для просмотра вариантов и регистрации на экзамен в вашей стране, посетите страницу экзамена Ansible Automation.
В этой первой части серии Ansible мы обсудим некоторый базовый обзор основных компонентов в Ansible.
Понимание основных компонентов Ansible –
Ansible – это бесплатная платформа автоматизации с открытым исходным кодом от RedHat, которая позволяет вам управлять несколькими серверами и управлять ими из одного центрального местоположения.
Его особенно идеально использовать, когда у вас есть несколько повторяющихся задач, которые необходимо выполнить.
Таким образом, вместо того, чтобы входить в каждый из этих удаленных узлов и выполнять свои задачи, вы можете удобно делать это из центрального местоположения и удобно управлять своими серверами.
Это полезно, если вы хотите поддерживать согласованность при развертывании приложений, снижать количество ошибок персонала и автоматизировать повторяющиеся и несколько обыденные задачи.
Конечно, есть и другие альтернативы Ansible, такие как Puppet, Chef и Salt.
☸️ Полный список инструментов DevOps
Тем не менее, Ansible предпочтительнее в том плане, потому что он прост в использовании и прост в освоении.
Почему его так легко изучить, спросите вы?
Это связано с тем, что Ansible использует YAML (еще один язык разметки) в своих плейбуках по настройке и автоматизации, которые понятны человеку и довольно просты для понимания.
YAML использует протокол SSH для связи с удаленными серверами, в отличие от других платформ автоматизации, которым для связи с ними требуется установить агент на удаленных узлах.
Прежде чем мы начнем работать с Ansible, важно, чтобы вы ознакомились с некоторыми основными терминологиями, чтобы вы не растерялись и не запутались по мере нашего продвижения вперед.
Inventory
Inventory – это текстовый файл, содержащий список серверов или узлов, которыми вы управляете и настраиваете.
Обычно серверы перечисляются на основе их имен хостов или IP-адресов.
Файл инвентаризации может содержать удаленные системы, определенные их IP-адресами, как показано ниже:
10.200.50.50 10.200.50.51 10.200.50.52
[webservers] 10.200.50.60 10.200.50.61 [databases] 10.200.50.70 10.200.50.71
Playbook
Скрипты или инструкции написаны в формате YAML.
Например, вы можете иметь файл playbook для установки веб-сервера Apache на CentOS 7 и называть его httpd.yml.
Для создания playbook запустите команду.
$ touch playbook_name.yml
$ touch httpd.yml
--- - name: This installs and starts Apache webserver hosts: webservers tasks: - name: Install Apache Webserver yum: name=httpd state=present - name: check httpd status yum: name=httpd state=started
Модули
Модули – это дискретные единицы кода, используемые в плейбуках для выполнения команд на удаленных хостах или серверах.
Каждый модуль сопровождается аргументом.
Базовым форматом модуля является ключ: значение.
- name: Install apache packages yum: name=httpd state=present
Plays
Ansible plays – это скрипт или инструкция, определяющая задачу, выполняемую на сервере.
Сборник plays представляет собой плейбук.
Другими словами, playbook представляет собой набор из нескольких plays, каждая из которых четко определяет задачу, которая должна быть выполнена на сервере.
Plays существуют в формате YAML.
Переменные
Если у вас есть опыт программирования, то, скорее всего, вы использовали переменные.
По сути, переменная представляет значение.
Переменная может содержать буквы, цифры и подчеркивания, но ДОЛЖНА всегда начинаться с букв.
Переменные используются, когда инструкции варьируются от одной системы к другой.
Это особенно актуально во время настройки или различных сервисов и функций.
Существует 3 основных типа переменных:
- Переменные Playbook
- Переменные Inventory
- Специальные переменные
В Ansible переменные сначала определяются с помощью переменных k, затем идет имя переменной и значение.
Синтаксис такой, как показано ниже:
vars: Var name1: ‘My first variable’ Var name2: ‘My second variable’
- hosts: webservers vars: - web_directory:/var/www/html/
Facts
Чтобы получить представление о количестве фактов, доступных для использования, введите команду.
$ ansible localhost -m setup
$ ansible localhost -m setup -a "filter=*ipv4"
Конфигурационные файлы
В Ansible файл конфигурации – это файл, который содержит различные настройки параметров, которые определяют, как работает Ansible.
Файл конфигурации по умолчанию – это файл ansible.cfg, расположенный в каталоге /etc/ansible/.
$ cat /etc/ansible/ansible.cfg
Как вы можете заметить, включены несколько параметров, таких как пути к файлам inventory и библиотекам, пользователь sudo, фильтры плагинов, модули и т. д.
Эти параметры можно настроить, просто закомментировав их и изменив значения.
Заключение
Изучив основные компоненты в Ansible, мы надеемся, что вы сможете держать их под рукой и выбирать их по мере продвижения вперед.
Присоединяйтесь к нам в вашей следующей теме.