Red de conocimiento informático - Computadora portátil - Uso de herramientas de Ansible

Uso de herramientas de Ansible

Ansible es una herramienta para automatizar la gestión de recursos TI.

Configuración del entorno del sistema

Instalar software

Integración continua: implementación automática

Reversión en caliente

Sin cliente final

Basado en push

Módulos enriquecidos de terceros, puede superar 1 W

Playbook basado en YAML

Soporte comercial

Baja eficiencia, fácil de colgar: comunicación basada en ssh

Rendimiento de concurrencia deficiente

Preparación del entorno

Python

Herramientas de configuración

pip (opcional): pip install ansible

git clone / ansible/ansible.git

source./hacking/env-setup

python setup.py install reemplaza el archivo de ejecución binario incorporado

yum install ansible

Ansible -gt; > Prioridad de ruta del archivo de configuración de Ansible

(1) exportar ANSIBLE_CONFIG

(2) ./ansible.cfg

(3) ~/.ansible .cfg

(4) /etc/ansible/ansible.cfg

Detalles del archivo de configuración

ansible/ansible.cfg en devel - ansible/ ansible - GitHub

(1) Valor predeterminado

Lista: Directorio para almacenar hosts de comunicación. biblioteca: ruta del módulo de búsqueda predeterminada de Ansible

bifurcaciones: el número máximo de procesos abiertos, no puede ser demasiado grande, ya que demasiado grande provocará un alto consumo de rendimiento, no puede ser demasiado pequeño, demasiado pequeño y rendimiento de concurrencia; será bajo, generalmente establecido en el número de núcleos de CPU* 2.

ask_pass: controla si el libro de jugadas de Ansible muestra automáticamente el cuadro de contraseña de forma predeterminada

ask_sudo_pass: si la plataforma que utiliza el usuario tiene habilitada la contraseña sudo, este parámetro debe establecerse en verdadero

gather_subset: este parámetro debe establecerse en verdadero si el usuario está en una plataforma que tiene habilitadas las contraseñas sudo.

strong> recopilar_subset: establece el contenido que se recopilará, incluido todo, red, hardware, virtual, falso, ohai

puerto_remoto: establece el puerto de la computadora cliente, generalmente 22

remoto_tmp : Establece el directorio temporal del cliente

usuario_remoto: establece el usuario del cliente

sudo_exe: ruta del comando sudo

sudo_flags: g. No se requiere conexión ssh

filter_plugins: filtro

loopup_plugins: ruta de carga

vars_plugins: cargado en todas partes

(2) privilegio_escalation Configuración de permisos de usuario para ejecutar comandos

(3) configuración del complemento paramiko_connection paramika

(4) configuración del enlace ssh_connection ssh

(4) acelerar

(5) colores de selinux amp;

Ver código fuente

3.1 Editar /etc/ansible/hosts y agregar la dirección IP de la máquina

3.2 Agregar la clave pública SSH de la máquina a las claves_autorizadas del máquina de destino

p>

3.3 Agregue la clave privada local a Ansible

3.4 ansible all -m ping para probar si la adición es exitosa

ansible: Texto del comando

todos: El valor predeterminado son todas las máquinas. strong>: El valor predeterminado es todas las máquinas, la expresión regular de la máquina de destino en la que se opera, también se puede cambiar a otros nombres de grupo en el archivo de hosts según sea necesario

Ejemplo:

ansible test -m ping

ansible 192.168.1.10 -m ping

< strong> -m ping: especifica el módulo que se utilizará

-a: Especifique el módulo que se pasará a Parámetros

Ejemplo:

ansible all -a "/sbin/reboot" -f 10 Reinicie todas las máquinas, 10 a la vez

ansible all -a " /usr/bin/foo" -u root especifica el usuario root para ejecutar el comando shell

-C -D: se usan juntos para verificar las modificaciones en el archivo de reglas del host

-l: restringe la coincidencia del número de hosts en la regla

--list-hosts: muestra todos los hosts que coinciden con la regla

-m -M: especifica el módulo y ruta del módulo utilizado

- -syntax- check: verificar la sintaxis

-v: mostrar registros detallados

El libro de jugadas se puede programar para ejecutarse de manera ordenada , e incluso puede ejecutar instrucciones especiales de un lado a otro en varios pasos de la máquina, y las tareas se pueden iniciar de forma sincrónica o asincrónica.

Para agregar...

Función:

Llamar al módulo Ansible:

La API de Ansible antes de 2.0 y después de 2.0 tiene un gran diferencia Diferente, preste atención a la versión

Llame a la API de Ansible 2.0:

6.1 Escriba su propio módulo test.py

6.2 Coloque el módulo en el carpeta de bloques de madera

El parámetro de configuración lilbrary en el archivo de configuración ansible.cfg es la ruta donde se debe colocar el módulo ansible.

6.3 Ejecute su propio módulo ansible all -m test