2.1 KiB
2.1 KiB
status, type, tags, created, updated, title
| status | type | tags | created | updated | title | ||
|---|---|---|---|---|---|---|---|
| stable | concept |
|
2025-12-17 | 2026-05-07 | Inventory - Ansible |
Inventory - Ansible
Особенности Ansible:
- Подключение по SSH
- Agentless - нет программ на клиентах
Структура файла hosts.ini
192.168.0.1
192.168.0.2
[web] # группа серверов
192.168.0.3
192.168.0.4
Можно использовать псевдонимы, вместо ip
app ansible_host=ip_server1
db ansible_host=ip_server2
web ansible_host=ip_server3
Другие полезные параметры inventory:
ansible_connection: ssh/winrm/local/docker- тип подключения к серверуansible_port: 22/5986- порт подключенияansible_user: root- логин для входа по ssh (или др.)ansible_ssh_pass: passwordилиansible_password: password- пароль для входа по ssh.
Группы для объединения групп:
[mail_internal]
mail1.serv
[mail_external]
mail2.serv
[mail_all:children]
mail_internal
mail_external
Помимо ini-формата, можно использовать YAML-файлы:
all:
children:
webservers:
hosts:
web1.example.com:
ansible_host: 192.168.1.10
ansible_user: admin
web2.example.com:
ansible_host: 192.168.1.11
vars:
ansible_port: 22
ansible_python_interpreter: /usr/bin/python3
databases:
hosts:
db1.example.com:
db2.example.com:
production:
children:
webservers:
databases:
Связанные заметки
- DHCP — если хосты получают IP динамически через DHCP, inventory должен использовать имена (DNS), а не IP-адреса
- DNS —
ansible_host: web1.example.comтребует DNS-резолвинга;/etc/resolv.confопределяет, где искать