Files
SecondBrain/90 Library/02 DevOps/Ansible/Inventory - Ansible.md
T
2026-05-14 10:49:10 +03:00

2.1 KiB

status, type, tags, created, updated, title
status type tags created updated title
stable concept
devops
ansible
2025-12-17 2026-05-07 Inventory - Ansible

Inventory - Ansible

Особенности Ansible:

  1. Подключение по SSH
  2. 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 определяет, где искать