Что такое Ansible
Создана 25.06.2024
Отредактирована 02.02.2023
Отредактирована 02.02.2023
Ansible - это инструмент, который обеспечивает:
- IT автоматизацию (Инструкции написаны для автоматизации работы ИТ-специалиста)
- управление конфигурацией (поддерживается согласованность всех систем в инфраструктуре)
- автоматическое развертывание (приложения автоматически развертываются в различных средах)
Ansible - инструмент настройки вытягивания (Push)
Получение конфигурации (Pull): узлы периодически проверяют сервер и загружают с него конфигурации.
Отправка конфигурации (Push): сервер отправляет конфигурации на узлы.
Ansible - это инструмент управления конфигурацией push-типа
Архитектура Ansible
- На локальном компьютере установлен Ansible.
- Узлы системы, которые нужно настроить, контролируются локальной машиной.
- Module - это набор файлов кода конфигурации (эти файлы кода конфигурации называются playbooks )
- Inventory - это документ, в котором узлы группируются под определенными ярлыками.
- Local Machine подключается к узлам через SSH-клиент.
Playbook Ansible
- Ядро Ansible - это playbook.
- Playbooks - это инструкции по настройке узлов.
- Они написаны на YAML, языке, используемом для описания данных.
- YAML означает "YAML Ain't Markup Language".
Давайте посмотрим на структуру playbook.
Playbook - это список
-name: play 1 hosts: webserver tasks: -name: install apache yam: name: apache state: present -name: start apache service: name: apache state: start
Inventory Ansible
В файле inventory узлы классифицируются по группам.
[webserver]
web1.machine
web2.machine
web3.machine
[databaseserver]
db1.machine
Работа Ansible
- Ansible устанавливается только на локальную машину. Это делает Ansible безагентным.
- Playbook и Inventory записываются на локальном компьютере.
- Локальный компьютер подключается к узлам через SSH
- Локальная машина собирает факты о каждом узле. Факты указывают на состояние узлов.
- Playbooks отправляются на узлы.
- Playbooks теперь выполнены. Это настраивает узлы в желаемое состояние.