ansible
Lager
Sök…
parametrar
Parameter | Förklaring |
---|---|
ansible_connection | Anslutningstyp till värden. Detta kan vara namnet på någon av ansibles anslutningsplugins. SSH-protokolltyper är smart , ssh eller paramiko . Standardvärdet är smart. Icke-SSH-baserade typer beskrivs i nästa avsnitt. |
ansible_host | Namnet på värden att ansluta till, om det skiljer sig från det alias du vill ge det. |
ansible_port | Ssh-portnumret, om inte 22 |
ansible_user | Standardnamnet ssh användarnamn att använda. |
ansible_ssh_pass | Ssh-lösenordet att använda (detta är osäkert, vi rekommenderar starkt att du använder --ask-pass eller SSH-nycklar) |
ansible_ssh_private_key_file | Privat nyckelfil som används av ssh. Användbart om du använder flera nycklar och inte vill använda SSH-agent. |
ansible_ssh_common_args | Denna inställning läggs alltid till standardkommandoraden för sftp , scp och ssh . Användbart för att konfigurera en ProxyCommand för en viss värd (eller grupp). |
ansible_sftp_extra_args | Den här inställningen läggs alltid till på kommandoraden sftp . |
ansible_scp_extra_args | Denna inställning läggs alltid till på kommandoraden för scp . |
ansible_ssh_extra_args | Den här inställningen läggs alltid till i kommandoraden ssh . |
ansible_ssh_pipelining | Bestämmer om SSH-rörledning ska användas eller inte. Detta kan åsidosätta pipelining inställningen i ansible.cfg . |
ansible_become | Likvärdigt med ansible_sudo eller ansible_su , gör det möjligt att tvinga eskalering av privilegier |
ansible_become_method | Gör det möjligt att ställa in metod för eskalering av privilegier |
ansible_become_user | Likvärdigt med ansible_sudo_user eller ansible_su_user , gör det möjligt att ställa in användaren som du blir genom privilegieradeskalering |
ansible_become_pass | ansible_sudo_pass med ansible_sudo_pass eller ansible_su_pass , låter dig ställa in lösenordet för eskalering av privilegium |
ansible_shell_type | Målsystemets skaltyp. Du bör inte använda den här inställningen om du inte har ställt ansible_shell_executable till ett icke-Bourne (sh) -kompatibelt skal. Som standard formateras kommandon med hjälp av sh style syntax. Om du ställer in detta på csh eller fish kommer kommandon som körs på målsystem att följa det skalets syntax istället. |
ansible_python_interpreter | Mytvärdens pythonväg. Detta är användbart för system med mer än en Python eller inte finns på / usr / bin / python som * BSD, eller där / usr / bin / python inte är en 2.X-serie Python. Vi använder inte / usr / bin / env mekanism som kräver fjärranvändaren väg ställas höger och även antar python körbara heter Python, där den körbara kan namnges något liknande python2.6. |
ansible _ * _ tolk | Fungerar för allt som rubin eller perl och fungerar precis som ansible_python_interpreter . Detta ersätter shebang av moduler som kommer att köras på den värden. |
ansible_shell_executable | Detta ställer in skalet som den ansvarsfulla styrenheten kommer att använda på målmaskinen, åsidosätter executable i ansible.cfg som standard / bin / sh . Du bör egentligen bara ändra det om det inte går att använda / bin / sh (dvs. / bin / sh är inte installerat på målmaskinen eller inte kan köras från sudo.). Ny i version 2.1. |
Inventering med användarnamn och lösenord
Inventory är det ansvarsfulla sättet att spåra alla system i din infrastruktur. Här är en enkel inventeringsfil som innehåller ett enda system och inloggningsuppgifterna för Ansible.
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd
Inventering med anpassad privat nyckel
[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key
Inventering med anpassad SSH-port
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222
Skicka statisk inventering till ansible-playbook
ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml
Skicka dynamisk inventering till ansible-playbook
ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml
Se dynamisk inventering för mer information.
Inventering, gruppvaror och du
projektstruktur (ansvarsfull bästa praxis).
project/
group_vars/
development
inventory.development
playbook.yaml
allt börjar med inventaris.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
som låter dig länka till group_vars. Håll data "specifika" för den miljön ...
---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f
som låter en köra följande spellista MOT inventeringsfilen:
---
- name: Install api.
hosts: api
gather_facts: true
sudo: true
tags:
- api
roles:
- { role: api, tags: ["api"] }
med följande runline:
ansible-playbook playbook.yaml -i inventory.development
Värdfilen
Värdfilen används för att lagra anslutningar för Anisble-spelböcker. Det finns alternativ för att definiera anslutningsparametrar:
ansible_host
är värdnamnet eller IP-adressen
ansible_port
är den port som maskinen använder för SSH
ansible_user
är ansible_user
att ansluta som
ansible_ssh_pass
om du använder ett lösenord för SSH
ansible_ssh_private_key_file
om du behöver använda flera tangenter som är specifika för värdar
Dessa är de mest använda alternativen. Mer finns i den officiella dokumentationen Ansible .
Här är ett exempel på en 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