Ansible es una herramienta de implementación de mantenimiento y operación automatizada muy potente recomendada

OK, se usó ansible en el último proyecto. Aquí hay un resumen.
¡No sé si tienes miedo, es realmente poderoso y fácil de usar!

ansible是什么?

Es una herramienta de implementación de automatización de operación y mantenimiento, generalmente utilizada en un entorno de clúster, y básicamente puede lograr la implementación con un solo clic. Como una castaña, ahora hay 10 microservicios ejecutándose en una máquina. Cuando se conecta, debe implementar 100 para implementar una arquitectura distribuida. No puede ir a una máquina para implementar y modificar el archivo de configuración correspondiente. Derecho Esto no debe ser agotador, y una de las configuraciones es incorrecta, no puede encontrar dónde está el error.
En este escenario, nace Ansible, solo necesita implementar una computadora host (incluidas las aplicaciones escritas, la configuración, los scripts, etc.) y luego usar esta computadora host como plantilla para copiar por lotes a las 100 unidades correspondientes En la maquina. Es perfecto
Inserte la descripción de la imagen aquí

Conceptos centrales:

  • El archivo de hosts , 100 máquinas correspondientes a IP, la configuración del puerto están escritas en este archivo, es la entrada a la operación
  • Script , qué archivo yml ejecutar
  • script yml , como el archivo de tareas principal main.yml
  • plantilla de plantilla , archivo j2 básico, por ejemplo, el archivo de configuración xml corresponde a la
    Inserte la descripción de la imagen aquí
    entrada del archivo principal de los hosts del archivo j2 .
    Inserte la descripción de la imagen aquí
    Depende del lenguaje python, debe instalar el entorno python de antemano, operar sobre esta base,
    porque mi entorno de máquina virtual no se puede usar, lo siguiente Directamente en la línea de comando, no mostrará el entorno de ejecución a todos.

// Todos los hosts ejecutan app.yml, que es agrupación lcpt
ansible-playbook lcpt/app.yml
/// Especifica hosts ejecuta app.yml
ansible-playbook --limit=lcpt6 lcpt/app.yml

// Los cambios en el archivo de configuración de Nginx deben modificar los siguientes archivos de configuración de directorio
/home/deploy/ansible/lcpt/roles/nginx/templates/nginx.conf.j2

// Reemplazar la entrada de todos los servicios nginx archivo de configuración nginx.yml
/home/deploy/ansible/lcpt/roles/nginx/tasks/main.yml ansible-playbook lcpt/nginx.yml

el módulo shell ansible
especifica los servicios de inicio y detención del servidor
ansible lcpt6 -m shell -a "bin/lc.sh stop trans"
ansible lcpt6 -m shell -a "bin/lc.sh start trans"

// El host especificado inicia y detiene el nodo
ansible lcpt4 -m shell -a "chdir=LCPT/WEB_NODE/fms pm2 stop app.js"
ansible lcpt4 -m shell -a "chdir=LCPT/WEB_NODE/fms pm2 -i 4 start app.js"

Ejecute las etiquetas de parte del script # ejecute
ansible-playbook app.yml --tags "app,cfg"varias etiquetas
ansible-playbook app.yml --tags app# solo ejecute una etiqueta para
omitir una tarea
ansible-playbook app.yml --skip-tags cfg

------------------- Toda la ejecución de módulos remotos y yml debe ejecutarse en el directorio ansible

De uso común es que ansible-playbook --limit ejecuta comandos de implementación en grupos. Básicamente, después de que se resuelve el script, la implementación por lotes posterior se vuelve muy simple y sin problemas.

Publicado 5 artículos originales · Me gusta1 · Visitas 99

Supongo que te gusta

Origin blog.csdn.net/iYhuitune/article/details/105459911
Recomendado
Clasificación