ansible
инвентарь
Поиск…
параметры
параметр | объяснение |
---|---|
ansible_connection | Тип подключения к хосту. Это может быть имя любого из подключаемых подключаемых модулей. Типы протоколов SSH являются smart , ssh или paramiko . Значение по умолчанию - умное. Типы, не относящиеся к SSH, описаны в следующем разделе. |
ansible_host | Имя хоста для подключения, если оно отличается от псевдонима, который вы хотите ему передать. |
ansible_port | Номер порта ssh, если не 22 |
ansible_user | Использовать имя пользователя ssh по умолчанию. |
ansible_ssh_pass | Пароль ssh для использования (это небезопасно, мы настоятельно рекомендуем использовать --ask-pass или SSH) |
ansible_ssh_private_key_file | Файл закрытого ключа, используемый ssh. Полезно, если вы используете несколько ключей, и вы не хотите использовать SSH-агент. |
ansible_ssh_common_args | Этот параметр всегда добавляется к командной строке по умолчанию для sftp , scp и ssh . Полезно настраивать ProxyCommand для определенного хоста (или группы). |
ansible_sftp_extra_args | Этот параметр всегда добавляется к командной строке sftp по умолчанию. |
ansible_scp_extra_args | Этот параметр всегда добавляется к командной строке scp по умолчанию. |
ansible_ssh_extra_args | Этот параметр всегда добавляется к командной строке ssh по умолчанию. |
ansible_ssh_pipelining | Определяет, следует ли использовать конвейерную обработку SSH. Это может переопределить настройку pipelining в ansible.cfg . |
ansible_become | Эквивалент ansible_sudo или ansible_su , позволяет принудительно повысить эскалацию привилегий |
ansible_become_method | Позволяет установить способ эскалации привилегий |
ansible_become_user | Эквивалентен ansible_sudo_user или ansible_su_user , позволяет установить пользователя, ansible_sudo_user ansible_su_user эскалации привилегий |
ansible_become_pass | Эквивалент ansible_sudo_pass или ansible_su_pass , позволяет вам установить пароль эскалации привилегий |
ansible_shell_type | Тип оболочки целевой системы. Вы не должны использовать этот параметр, если только вы не установили ansible_shell_executable в ansible_shell_executable отличную от Bourne (sh). По умолчанию команды отформатированы с использованием синтаксиса sh style. Установка этого параметра в csh или fish заставит команды, выполняемые в целевых системах, вместо этого следовать синтаксису оболочки. |
ansible_python_interpreter | Целевой путь python хоста. Это полезно для систем с более чем одним Python или не находится в / usr / bin / python, таких как * BSD, или где / usr / bin / python не является питоном серии 2.X. Мы не используем механизм / USR / бен / ENV , как требует путь удаленного пользователя должен быть установлен правильно , а также предполагает , что питон исполняемый называется питон, где исполняемый файл может называться что - то вроде python2.6. |
анзибль _ * _ переводчик | Работает для чего угодно, такого как ruby или perl, и работает так же, как ansible_python_interpreter . Это заменяет shebang модулей, которые будут запускаться на этом хосте. |
ansible_shell_executable | Это устанавливает оболочку, которую может использовать ansible controller на целевой машине, переопределяет executable в ansible.cfg который по умолчанию имеет значение / bin / sh . Вы действительно должны только изменить его, если невозможно использовать / bin / sh (т.е. / bin / sh не установлен на целевой машине или не может быть запущен из sudo.). Новое в версии 2.1. |
Инвентарь с именем пользователя и паролем
Инвентарь - это Ansible способ отслеживать все системы в вашей инфраструктуре. Вот простой файл инвентаризации, содержащий одну систему и учетные данные для входа в Ansible.
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd
Инвентарь с пользовательским закрытым ключом
[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key
Инвентарь с пользовательским SSH-портом
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222
Пропустить статическую инвентаризацию в загружаемую книгу
ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml
Передача динамических ресурсов в загружаемую книгу
ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml
Подробнее см. Динамический инвентарь .
Инвентаризация, групповые войны и вы
структура проекта (приемлемая передовая практика).
project/
group_vars/
development
inventory.development
playbook.yaml
все начинается с inventory.development
[development]
dev.fakename.io
[development:vars]
ansible_host: 192.168.0.1
ansible_user: dev
ansible_pass: pass
ansible_port: 2232
[api:children]
development
который позволяет вам ссылаться на group_vars. Удерживайте данные «специфично» в этой среде ...
---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f
который позволяет запускать следующий плей-лист ПРОТИВ файла инвентаризации:
---
- name: Install api.
hosts: api
gather_facts: true
sudo: true
tags:
- api
roles:
- { role: api, tags: ["api"] }
со следующей строкой:
ansible-playbook playbook.yaml -i inventory.development
Файл хостов
Файл хоста используется для хранения подключений для загрузочных плееров Anisble. Существуют опции для определения параметров подключения:
ansible_host
- имя хоста или IP-адрес
ansible_port
- это порт, который машина использует для SSH
ansible_user
- удаленный пользователь для подключения как
ansible_ssh_pass
при использовании пароля для SSH
ansible_ssh_private_key_file
если вам нужно использовать несколько ключей, специфичных для хостов
Это наиболее часто используемые варианты. Более подробную информацию можно найти в официальной документации Ansible .
Вот пример файла hosts
:
# Consolidation of all groups
[hosts:children]
web-servers
offsite
onsite
backup-servers
[web-servers]
server1 ansible_host=192.168.0.1 ansible_port=1600
server2 ansible_host=192.168.0.2 ansible_port=1800
[offsite]
server3 ansible_host=10.160.40.1 ansible_port=22 ansible_user=root
server4 ansible_host=10.160.40.2 ansible_port=4300 ansible_user=root
# You can make groups of groups
[offsite:children]
backup-servers
[onsite]
server5 ansible_host=10.150.70.1 ansible_ssh_pass=password
[backup-servers]
server6 ansible_host=10.160.40.3 ansible_port=77