58 lines
2.5 KiB
Markdown
58 lines
2.5 KiB
Markdown
## Установка 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
|
|
```
|
|
<img src="assets/image_1777451283920.jpg" width="auto">
|
|
|
|
## Настройка Ansible
|
|
Готово.
|
|
Ansible используем ssh для подключения, лучше всего и безопаснее использовать ssh-ключ, создадим его:
|
|
```
|
|
ssh-keygen
|
|
```
|
|
<img src="assets/image_1777451977808.jpg" width="auto">
|
|
У меня ключ уже создан
|
|
Расположение:
|
|
```
|
|
/home/<user>/.ssh/id_ed25519.pub # публичный ключ
|
|
/home/<user>/.ssh/id_ed25519 # приватный ключ
|
|
```
|
|
|
|
Перекидываем публичный ssh-ключ на наш тестовый стенд:
|
|
```
|
|
ssh-copy-id -i ~/.ssh/ed25519.pub ansible@172.16.13.101
|
|
```
|
|
<img src="assets/image_1777454341479.jpg" width="auto">
|
|
Готово.
|
|
|
|
## Первые шаги
|
|
Мы можем сделать начальную структуру проекта Ansible через команду:
|
|
```
|
|
ansible-galaxy role init my-project
|
|
```
|
|
<img src="./assets/image_1777454975978.jpg" width="auto">
|
|
|
|
Коротко про каждую:
|
|
1. defaults - в main.yml хранятся дефолтные переменные с которыми запускается роль
|
|
2. vars - main.yml задаются переменные
|
|
3. tasks - сами задачи, плейбуки
|
|
4. handlers - это обработчики изменений, если ваша роль выполнялась, что-то изменила, потому что оно не соответствовало описанию плейбука, то будет вызван хендлер, если его описали
|
|
5. templates - шаблоны
|
|
6. files - хранение файлов, конфигов
|
|
7. tests - тесты, можно проверять работу плейбуков, не применяя к серверам, локально в среде
|
|
|
|
После подключения Ansible делает сбор фактов, узнает полную информацию о системе, какая ОС, архитектура, ip адреса и так далее.
|
|
|