Szukaj…


Parametry

Parametr Wyjaśnienie
ansible_connection Typ połączenia z hostem. Może to być nazwa dowolnej wtyczki połączenia ansible. Typy protokołów SSH to smart , ssh lub paramiko . Domyślnie jest sprytny. Typy inne niż SSH są opisane w następnej sekcji.
ansible_host Nazwa hosta, z którym chcesz się połączyć, jeśli jest inna niż alias, który chcesz mu nadać.
ansible_port Numer portu ssh, jeśli nie 22
użytkownik_odpowiedzi Domyślna nazwa użytkownika ssh do użycia.
ansible_ssh_pass Hasło ssh do użycia (jest to niepewne, zdecydowanie zalecamy używanie --ask-pass lub SSH)
ansible_ssh_private_key_file Plik klucza prywatnego używany przez ssh. Przydatne, jeśli używasz wielu kluczy i nie chcesz używać agenta SSH.
ansible_ssh_common_args To ustawienie jest zawsze dołączane do domyślnego wiersza poleceń dla sftp , scp i ssh . Przydatne do skonfigurowania ProxyCommand dla określonego hosta (lub grupy).
ansible_sftp_extra_args To ustawienie jest zawsze dołączane do domyślnego wiersza polecenia sftp .
ansible_scp_extra_args To ustawienie jest zawsze dołączane do domyślnego wiersza polecenia scp .
ansible_ssh_extra_args To ustawienie jest zawsze dołączane do domyślnego wiersza polecenia ssh .
ansible_ssh_pipelining Określa, czy używać potokowania SSH. Może to zastąpić ustawienie pipelining w ansible.cfg .
ansible_become Odpowiednik ansible_sudo lub ansible_su pozwala wymusić eskalację uprawnień
ansible_become_method Pozwala ustawić metodę eskalacji uprawnień
ansible_become_user Odpowiednik użytkownika ansible_sudo_user lub ansible_su_user , pozwala ustawić użytkownika, którym zostaniesz, poprzez eskalację uprawnień
ansible_become_pass Odpowiednik ansible_sudo_pass lub ansible_su_pass , pozwala ustawić hasło eskalacji uprawnień
ansible_shell_type Typ powłoki systemu docelowego. Nie powinieneś używać tego ustawienia, chyba że ustawisz ansible_shell_executable na ansible_shell_executable niezgodną z Bourne (sh). Domyślnie polecenia są formatowane przy użyciu składni sh style. Ustawienie tej wartości na csh lub fish spowoduje, że polecenia wykonywane w systemach docelowych będą zgodne ze składnią tych powłok.
ansible_python_interpreter Ścieżka python hosta docelowego. Jest to przydatne w systemach z więcej niż jednym Pythonem lub nie znajdujących się w / usr / bin / python, takich jak * BSD, lub gdzie / usr / bin / python nie jest Pythonem z serii 2.X. Nie używamy mechanizmu / usr / bin / env jako że wymaga ścieżkę zdalnego użytkownika należy ustawić prawo, a także zakłada, że Python jest wykonywalny o nazwie python, gdzie plik wykonywalny może być nazwany coś podobnego python2.6.
interpreter ansible _ * _ Działa na wszystko, takie jak Ruby lub Perl i działa podobnie jak ansible_python_interpreter . Zastępuje shebang modułów, które będą działały na tym hoście.
ansible_shell_executable Ustawia powłokę, której kontroler ansible będzie używał na maszynie docelowej, zastępuje executable w ansible.cfg który domyślnie ma wartość / bin / sh . Naprawdę powinieneś to zmienić tylko wtedy, gdy nie można użyć / bin / sh (tzn. / Bin / sh nie jest zainstalowany na komputerze docelowym lub nie można go uruchomić z sudo.). Nowości w wersji 2.1.

Zapasy z nazwą użytkownika i hasłem

Inwentaryzacja to Ansible sposób śledzenia wszystkich systemów w infrastrukturze. Oto prosty plik inwentarza zawierający pojedynczy system i dane logowania do Ansible.

[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd

Inwentaryzacja z niestandardowym kluczem prywatnym

[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key

Inwentaryzacja z niestandardowym portem SSH

[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222

Przekaż inwentarz statyczny do playbooka ansible

ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml

Przekaż dynamiczne zapasy do Ansible-Playbook

ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml

Zobacz dynamiczne zasoby, aby uzyskać więcej informacji.

Inwentaryzacja, zmienne grupowe i Ty

struktura projektu (najlepsza praktyka ansible).

project/
  group_vars/
     development
  inventory.development
  playbook.yaml

wszystko zaczyna się od inwentaryzacji

[development]
dev.fakename.io

[development:vars]
ansible_host: 192.168.0.1
ansible_user: dev
ansible_pass: pass
ansible_port: 2232

[api:children]
development

który pozwala linkować do group_vars. Trzymaj dane „specyficzne” dla tego środowiska ...

---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f

który pozwala uruchomić następujący poradnik PRZECIW plikowi inwentarza:

---
- name: Install api.
  hosts: api
  gather_facts: true
  sudo: true
  tags:
    - api
  roles:
    - { role: api,         tags: ["api"]         }

z następującą linią czasu:

ansible-playbook playbook.yaml -i  inventory.development

Plik hostów

Plik hosta służy do przechowywania połączeń dla podręczników Anisble. Istnieją opcje definiowania parametrów połączenia:

ansible_host to ansible_host hosta lub adres IP

ansible_port to port używany przez maszynę do SSH

ansible_user to zdalny użytkownik, z którym można się połączyć

ansible_ssh_pass jeśli używasz hasła do SSH

ansible_ssh_private_key_file jeśli chcesz użyć wielu kluczy specyficznych dla hostów

Są to najczęściej używane opcje. Więcej można znaleźć w oficjalnej dokumentacji Ansible .

Oto przykładowy plik 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
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow