ansible
Inventario
Buscar..
Parámetros
Parámetro | Explicación |
---|---|
ansible_connection | Tipo de conexión al host. Este puede ser el nombre de cualquiera de los complementos de conexión de ansible. Los tipos de protocolo SSH son smart , ssh o paramiko . El valor predeterminado es inteligente. Los tipos no basados en SSH se describen en la siguiente sección. |
ansible_host | El nombre del host al que se conectará, si es diferente del alias que desea darle. |
ansible_port | El número de puerto ssh, si no 22 |
usuario ansible | El nombre de usuario ssh predeterminado a usar. |
ansible_ssh_pass | La contraseña ssh a usar (esto es inseguro, recomendamos encarecidamente usar --ask-pass o SSH keys) |
ansible_ssh_private_key_file | Archivo de clave privada utilizado por ssh. Es útil si usa varias teclas y no quiere usar el agente SSH. |
ansible_ssh_common_args | Esta configuración siempre se agrega a la línea de comandos predeterminada para sftp , scp y ssh . Útil para configurar un ProxyCommand para un determinado host (o grupo). |
ansible_sftp_extra_args | Esta configuración siempre se agrega a la línea de comando sftp predeterminada. |
ansible_scp_extra_args | Esta configuración siempre se agrega a la línea de comandos de scp predeterminada. |
ansible_ssh_extra_args | Esta configuración siempre se agrega a la línea de comandos predeterminada de ssh . |
ansible_ssh_pipelining | Determina si utilizar o no la canalización SSH. Esto puede anular la configuración de la pipelining en ansible.cfg . |
ansible_become | Equivalente a ansible_sudo o ansible_su , permite forzar la escalada de privilegios |
ansible_become_method | Permite establecer el método de escalado de privilegios. |
ansible_become_user | Equivalente a ansible_sudo_user o ansible_su_user , permite configurar el usuario en el que se convierte a través de la escalada de privilegios |
ansible_become_pass | Equivalente a ansible_sudo_pass o ansible_su_pass , le permite establecer la contraseña de escalada de privilegios |
ansible_shell_type | El tipo de shell del sistema de destino. No debe usar esta configuración a menos que haya establecido el ansible_shell_executable en un shell no compatible con Bourne (sh). Por defecto, los comandos están formateados usando la sintaxis de estilo sh . Establecer esto en csh o fish hará que los comandos ejecutados en los sistemas de destino sigan la sintaxis de esos shell. |
ansible_python_interpreter | La ruta de destino de python host. Esto es útil para sistemas con más de un Python o que no están ubicados en / usr / bin / python como * BSD, o donde / usr / bin / python no es un Python de la serie 2.X. No utilizamos el mecanismo / usr / bin / env , ya que requiere que la ruta del usuario remoto se configure correctamente y también supone que el ejecutable de python se denomina python, donde el ejecutable podría llamarse algo así como python2.6 . |
ansible _ * _ intérprete | Funciona para cualquier cosa como ruby o perl y funciona como ansible_python_interpreter . Esto reemplaza a shebang de módulos que se ejecutarán en ese host. |
ansible_shell_executable | Esto establece el shell que el controlador ansible usará en la máquina de destino, reemplaza el executable en ansible.cfg que por defecto es / bin / sh . Realmente solo debería cambiarlo si no es posible usar / bin / sh (es decir, / bin / sh no está instalado en la máquina de destino o no puede ejecutarse desde sudo). Nuevo en la versión 2.1. |
Inventario con nombre de usuario y contraseña.
El inventario es la forma más fácil de rastrear todos los sistemas en su infraestructura. Aquí hay un archivo de inventario simple que contiene un solo sistema y las credenciales de inicio de sesión de Ansible.
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_ssh_pass=PassW0rd
Inventario con clave privada personalizada
[targethost]
192.168.1.1 ansible_user=mrtuovinen ssh_private_key_file=~/.ssh/custom_key
Inventario con puerto SSH personalizado
[targethost]
192.168.1.1 ansible_user=mrtuovinen ansible_port=2222
Pasar el inventario estático a ansible-playbook
ansible-playbook -i path/to/static-inventory-file -l myhost myplaybook.yml
Pasar inventario dinámico a libro de jugabilidad
ansible-playbook -i path/to/dynamic-inventory-script.py -l myhost myplaybook.yml
Ver inventario dinámico para más detalles.
Inventario, Vars de grupo, y usted
Estructura del proyecto (buenas prácticas ansible).
project/
group_vars/
development
inventory.development
playbook.yaml
todo comienza con el inventario.
[development]
dev.fakename.io
[development:vars]
ansible_host: 192.168.0.1
ansible_user: dev
ansible_pass: pass
ansible_port: 2232
[api:children]
development
que te permite enlazar a group_vars. Mantenga los datos 'específicos' para ese entorno ...
---
app_name: NewApp_Dev
app_url: https://dev.fakename.io
app_key: f2390f23f01233f23f
que permite ejecutar el siguiente libro de jugadas CONTRA el archivo de inventario:
---
- name: Install api.
hosts: api
gather_facts: true
sudo: true
tags:
- api
roles:
- { role: api, tags: ["api"] }
con el siguiente runline:
ansible-playbook playbook.yaml -i inventory.development
Archivo de hosts
El archivo host se utiliza para almacenar conexiones para libros de jugadas de Anisble. Hay opciones para definir parámetros de conexión:
ansible_host
es el nombre de host o la dirección IP
ansible_port
es el puerto que usa la máquina para SSH
ansible_user
es el usuario remoto para conectarse como
ansible_ssh_pass
si usa una contraseña para SSH
ansible_ssh_private_key_file
si necesita usar varias claves que son específicas de los hosts
Estas son las opciones más utilizadas. Más se puede encontrar en la documentación oficial de Ansible .
Aquí hay un ejemplo de archivo 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