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 p>
-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