Поиск…


параметры

параметр объяснение
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


Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow