ansible
Voorraad
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