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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow