## Установка Ansible
Ansible работает через питон, по этому необходимо установить его:
```
apt update && apt upgrade -y
apt install python3 python3-pip python3-venv -y
```
Установка виртуального окружения:
```
python3 -m venv
source venv/bin/activate
```
И устанавливаем Ansible:
```
pip install ansible
ansible --version
```
## Настройка Ansible
Готово.
Ansible используем ssh для подключения, лучше всего и безопаснее использовать ssh-ключ, создадим его:
```
ssh-keygen
```
У меня ключ уже создан
Расположение:
```
/home//.ssh/id_ed25519.pub # публичный ключ
/home//.ssh/id_ed25519 # приватный ключ
```
Перекидываем публичный ssh-ключ на наш тестовый стенд:
```
ssh-copy-id -i ~/.ssh/ed25519.pub ansible@172.16.13.101
```
Готово.
## Первые шаги
Мы можем сделать начальную структуру проекта Ansible через команду:
```
ansible-galaxy role init my-project
```
Коротко про каждую:
1. defaults - в main.yml хранятся дефолтные переменные с которыми запускается роль
2. vars - main.yml задаются переменные
3. tasks - сами задачи, плейбуки
4. handlers - это обработчики изменений, если ваша роль выполнялась, что-то изменила, потому что оно не соответствовало описанию плейбука, то будет вызван хендлер, если его описали
5. templates - шаблоны
6. files - хранение файлов, конфигов
7. tests - тесты, можно проверять работу плейбуков, не применяя к серверам, локально в среде
После подключения Ansible делает сбор фактов, узнает полную информацию о системе, какая ОС, архитектура, ip адреса и так далее.