Zoeken…


parameters

Parameter Uitleg
ansible_connection Type verbinding met de host. Dit kan de naam zijn van elke verbindingsplug-in van ansible. SSH-protocoltypen zijn smart , ssh of paramiko . De standaardwaarde is slim. Op niet-SSH gebaseerde typen worden in de volgende sectie beschreven.
ansible_host De naam van de host om verbinding mee te maken, indien anders dan de alias die u eraan wilt geven.
ansible_port Het SSH-poortnummer, zo niet 22
ansible_user De standaard ssh-gebruikersnaam die moet worden gebruikt.
ansible_ssh_pass Het te gebruiken SSH-wachtwoord (dit is niet --ask-pass , we raden sterk aan om --ask-pass of SSH-sleutels te gebruiken)
ansible_ssh_private_key_file Privésleutelbestand gebruikt door ssh. Handig als u meerdere sleutels gebruikt en u geen SSH-agent wilt gebruiken.
ansible_ssh_common_args Deze instelling wordt altijd toegevoegd aan de standaardopdrachtregel voor sftp , scp en ssh . Handig om een ProxyCommand te configureren voor een bepaalde host (of groep).
ansible_sftp_extra_args Deze instelling wordt altijd toegevoegd aan de standaard sftp- opdrachtregel.
ansible_scp_extra_args Deze instelling wordt altijd toegevoegd aan de standaard scp- opdrachtregel.
ansible_ssh_extra_args Deze instelling wordt altijd toegevoegd aan de standaard SSH- opdrachtregel.
ansible_ssh_pipelining Bepaalt of SSH-pipelining moet worden gebruikt. Dit kan de pipelining instelling in ansible.cfg .
ansible_become Gelijk aan ansible_sudo of ansible_su , maakt het mogelijk om escalatie van privileges af te dwingen
ansible_become_method Hiermee kan de escalatiemethode voor bevoegdheden worden ingesteld
ansible_become_user Gelijk aan ansible_sudo_user of ansible_su_user , maakt het mogelijk om de gebruiker in te stellen die u wordt via privilege-escalatie
ansible_become_pass Gelijk aan ansible_sudo_pass of ansible_su_pass , hiermee kunt u het escalatie-wachtwoord voor privileges instellen
ansible_shell_type Het shell-type van het doelsysteem. Gebruik deze instelling alleen als je de ansible_shell_executable hebt ingesteld op een niet-Bourne (sh) compatibele shell. Standaard worden opdrachten opgemaakt met behulp van de syntaxis van sh style. Als u dit csh op csh of fish zullen opdrachten die worden uitgevoerd op doelsystemen in plaats daarvan de syntaxis van die shell volgen.
ansible_python_interpreter Het doelhostpythonpad. Dit is handig voor systemen met meer dan één Python of niet op / usr / bin / python zoals * BSD, of waar / usr / bin / python geen Python uit de 2.X-serie is. We hebben niet de / usr / bin / env-mechanisme te gebruiken als dat nodig tussen de afstandsbediening gebruiker om set gelijk te hebben en gaat er ook van de python uitvoerbare is vernoemd python, waar de uitvoerbare iets als python2.6 kan worden genoemd.
Ansible _ * _ tolk Werkt voor alles zoals ruby of perl en werkt net als ansible_python_interpreter . Dit vervangt een reeks modules die op die host worden uitgevoerd.
ansible_shell_executable Dit stelt de shell in die de ansible-controller op de doelcomputer zal gebruiken, overschrijft het executable in ansible.cfg dat standaard staat voor / bin / sh . Je moet het eigenlijk alleen veranderen als het niet mogelijk is om / bin / sh te gebruiken (dat wil zeggen / bin / sh is niet op de doelmachine geïnstalleerd of kan niet worden uitgevoerd vanuit sudo.). Nieuw in versie 2.1.

Inventaris met gebruikersnaam en wachtwoord

Voorraad is de mogelijke manier om alle systemen in uw infrastructuur te volgen. Hier is een eenvoudig inventarisbestand met een enkel systeem en de inloggegevens voor Ansible.

[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd

Voorraad met aangepaste persoonlijke sleutel

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

Voorraad met aangepaste SSH-poort

[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222

Geef statische inventaris door aan ansible-playbook

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

Geef dynamische inventaris door aan ansible-playbook

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

Zie dynamische inventaris voor meer informatie.

Voorraad, groepsvars en jij

projectstructuur (een mogelijke best practice).

project/
  group_vars/
     development
  inventory.development
  playbook.yaml

het begint allemaal met inventarisontwikkeling

[development]
dev.fakename.io

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

[api:children]
development

waarmee je kunt linken naar group_vars. Gegevens 'specifiek' houden voor die omgeving ...

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

waarmee men het volgende playbook TEGEN het inventarisbestand kan uitvoeren:

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

met de volgende runline:

ansible-playbook playbook.yaml -i  inventory.development

Hosts-bestand

Het hostbestand wordt gebruikt om verbindingen voor Anisble-playbooks op te slaan. Er zijn opties om verbindingsparameters te definiëren:

ansible_host is de hostnaam of het IP-adres

ansible_port is de poort die de machine gebruikt voor SSH

ansible_user is de externe gebruiker om verbinding mee te maken

ansible_ssh_pass bij gebruik van een wachtwoord voor SSH

ansible_ssh_private_key_file als u meerdere sleutels moet gebruiken die specifiek zijn voor hosts

Dit zijn de meest gebruikte opties. Meer is te vinden in de officiële documentatie van Ansible .

Hier is een voorbeeld van een hosts bestand:

# 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow