Ansible - Введение

Ansible - это простой ИТ-движок с открытым исходным кодом, который автоматизирует развертывание приложений, оркестровку внутри служб, выделение облачных ресурсов и многие другие ИТ-инструменты.

Ansible легко развернуть, так как не использует агентов или настраиваемую инфраструктуру безопасности.

Ansible использует playbook для описания задач автоматизации, а playbook использует очень простой язык, т.е. YAML(Это читаемый человеком язык сериализации данных и обычно используется для файлов конфигурации, но может использоваться во многих приложениях, в которых хранятся данные), который людям очень легко понять, прочитать и написать. Следовательно, преимущество состоит в том, что даже специалисты по поддержке ИТ-инфраструктуры могут читать и понимать playbook и при необходимости отлаживать (YAML - это в удобочитаемой форме).

Ansible разработан для многоуровневого развертывания. Ansible не управляет одной системой за раз, он моделирует ИТ-инфраструктуру, описывая, что все ваши системы взаимосвязаны. Ansible полностью безагентный, что означает, что Ansible работает, подключая ваши узлы через ssh (по умолчанию). Но если вам нужен другой метод подключения, такой как Kerberos, Ansible предоставит вам эту возможность.

После подключения к вашим узлам Ansible запускает небольшие программы, называемые «Ansible Modules». Ansible запускает эти модули на ваших узлах и удаляет их по завершении. Ansible управляет вашим инвентарем в простых текстовых файлах (это файл hosts). Ansible использует файл hosts, в котором можно сгруппировать хосты и управлять действиями в определенной группе в playbooks.

Пример файла Hosts

Это содержимое файла hosts -

#File name: hosts
#Description: Inventory file for your application. Defines machine type abc
node to deploy specific artifacts
# Defines machine type def node to upload
metadata.

[abc-node]
#server1 ansible_host = <target machine for DU deployment> ansible_user = <Ansible
user> ansible_connection = ssh
server1 ansible_host = <your host name> ansible_user = <your unix user>
ansible_connection = ssh

[def-node]
#server2 ansible_host = <target machine for artifact upload>
ansible_user = <Ansible user> ansible_connection = ssh
server2 ansible_host = <host> ansible_user = <user> ansible_connection = ssh

Что такое управление конфигурацией

Управление конфигурацией с точки зрения Ansible означает, что оно поддерживает конфигурацию производительности продукта путем ведения записей и обновления подробной информации, которая описывает оборудование и программное обеспечение предприятия.

Такая информация обычно включает точные версии и обновления, которые были применены к установленным программным пакетам, а также расположение и сетевые адреса аппаратных устройств. Например, если вы хотите установить новую версиюWebLogic/WebSphere сервер на всех машинах, имеющихся на вашем предприятии, вам нецелесообразно вручную обновлять каждую машину.

Вы можете установить WebLogic / WebSphere за один раз на всех ваших машинах с помощью Ansible playbooks и инвентаря, написанных самым простым способом. Все, что вам нужно сделать, это перечислить IP-адреса ваших узлов в инвентаре и написать сценарий для установки WebLogic / WebSphere. Запустите playbook с вашего управляющего компьютера, и он будет установлен на всех ваших узлах.

Как работает Ansible?

На приведенном ниже рисунке показана работа Ansible.

Ansible works подключившись к вашим узлам и запустив небольшие программы, называемые "Ansible модули »им. Ansibleзатем выполняет эти модули (по умолчанию через SSH) и удаляет их по завершении. Ваша библиотека модулей может находиться на любом компьютере, и для этого не требуются серверы, демоны или базы данных.

Узел управления на изображении выше - это управляющий узел (управляющий узел), который контролирует все выполнение playbook. Это узел, с которого вы запускаете установку. Файл инвентаризации предоставляет список хостов, на которых должны быть запущены модули Ansible, а узел управления устанавливает SSH-соединение, выполняет небольшие модули на хост-машине и устанавливает продукт / программное обеспечение.

Beauty из Ansible заключается в том, что он удаляет модули после их установки настолько эффективно, что подключается к хост-машине, выполняет инструкции и, если он успешно установлен, удаляет код, который был скопирован на хост-машину, которая была выполнена.