ansible tutorial installation
Tutorial práctico de Ansible con instalación, uso y configuración de Ansible con módulos Ansible:
Discutimos sobre AWS Elastic Beanstalk en nuestro tutorial anterior.
LISTA de tutoriales en esta serie de Ansible:
Tutorial #1: Instalación y módulos Ansible
Tutorial #2: Playbooks y bóvedas de Ansible
Tutorial #3: Funciones de Ansible e integración con Jenkins
Ansible es una herramienta de código abierto que ayuda en la automatización de tareas, implementación de aplicaciones, aprovisionamiento en la nube y administración de la configuración.
Leer también => Lista de tutoriales de formación de DevOps
Así que estamos hablando de la orquestación de TI donde las tareas se ejecutan en secuencia en varias máquinas o servidores diferentes.
Ansible hace esto conectándose a varias máquinas a través de SSH y ejecuta las tareas que se han configurado en los libros de jugadas y utiliza un lenguaje simple llamado YAML (otro lenguaje de marcado) .
Lo que vas a aprender:
- Descripción general de Ansible
- Proceso de instalación de Ansible
- Uso de Ansible
- Módulos Ansible
- Resumen
- Lectura recomendada
Descripción general de Ansible
Lo más importante es que Ansible no utiliza un agente para automatizar tareas en diferentes máquinas.
Ansible garantiza el mantenimiento de versiones exactas e información actualizada de los paquetes de software.
Por ejemplo , si desea instalar JDK 8 o Tomcat o cualquier otro paquete de software en 10 o 20 máquinas diferentes, en realidad no es factible ir a todas las máquinas e instalarlas en lugar de usar Ansible para automatizar la instalación o incluso las implementaciones de software usando Playbooks e Inventory escrito en un lenguaje muy simple.
Entonces Ansible es:
- Gratis y de código abierto
- Mantenido por Redhat
- Esencialmente una configuración de servidor
- Gestión de la configuración
En esta serie de tutoriales de Ansible de 3 partes, discutiremos el enfoque práctico sobre los siguientes temas:
- Proceso de instalación y configuración
- Inventario
- Módulos Ansible
- Comandos ad-hoc,
- Automatización de tareas mediante playbooks
- Roles de Ansible
- Bóveda Ansible
- Ansible y AWS
Proceso de instalación de Ansible
Ansible se puede instalar y ejecutar desde cualquier máquina.
Normalmente necesitará un Maquina de control para la instalación que debería ser Linux. La máquina de Windows no admite ser una máquina de control. La máquina de control gestionará las otras máquinas remotas. Como se mencionó anteriormente, Ansible usa SSH para administrar máquinas remotas.
A lo largo de este tutorial, utilizaré instancias de AWS EC2 para mostrar los ejemplos. He usado 2 instancias (una máquina de control y otra como objetivo para automatizar tareas) y Redhat Linux 7.5.
Ya sea en las instalaciones o en la nube, deberá abrir los puertos de manera adecuada en función de las tareas que se estén automatizando. Tengo los siguientes puertos abiertos como parte del grupo de seguridad para las instancias EC2 para demostrar los ejemplos mencionados en el tutorial.
máscara de subred predeterminada para la clase d
En la pantalla anterior, mencioné la apertura del puerto 8080 como mostraré sobre la automatización de la automatización de la implementación de software utilizando Tomcat, que será útil desde el punto de vista de DevOps, especialmente durante el proceso de entrega continua.
Instalación de Ansible usando YUM
Como se mencionó anteriormente, usaré una máquina de control y una máquina de destino. Para comenzar con la instalación, realice los pasos que se muestran a continuación en ambas máquinas.
a) Cree una identificación común en ambas máquinas, para Ejemplo , ansible con privilegios SUDO. Esta identificación se utilizará para comunicarse entre todas las máquinas involucradas para la automatización de tareas.
|_+_|b) Edite el / etc / ssh / sshd_config archivo en el maquina de control y descomentar las líneas para PasswordAuthentication y PermitRootLogin
Realice los pasos anteriores en ambas máquinas. Una vez completado, reinicie el sshd servicio en ambas máquinas.
|_+_|c) Para la automatización completa de las tareas, necesitaremos autenticación SSH sin contraseña; de lo contrario, no se utilizará todo el proceso si tiene que introducir la contraseña cada vez.
Entonces, publique los cambios realizados anteriormente si ejecutamos el comando ssh y ssh, necesitaremos ingresar la contraseña cada vez, lo cual no es el procedimiento correcto para ejecutar tareas de Ansible.
D) Para habilitar la autenticación sin contraseña, realice los pasos que se muestran a continuación. Primero agregue el usuario ansible hacia / etc / sudoers archivo en ambas máquinas que permitirá al usuario ansible para ejecutar cualquier comando que requiera privilegios de root.
Guarde y salga del archivo después de agregar el usuario.
es) En el futuro utilizaremos el usuario ansible para realizar todos los pasos. Así que cambia al usuario ansible.
Maquina de control su - ansible Y Máquina objetivo su – ansible
Maquina de control ssh-keygen
Máquina objetivo ssh-keygen
Copie la clave ssh en la máquina de destino y viceversa.
Maquina de control ssh-copy-id
Máquina objetivo ssh-copy-id
el mejor software de copia de seguridad gratuito para windows 7
Ahora podemos iniciar sesión sin ingresar la contraseña. Después de verificar la conectividad ssh en ambas máquinas, inicie sesión como usuario ansible.
Maquina de control: ssh ansible @
Máquina objetivo: ssh ansible @
F) Instale wget si no está instalado en ambas máquinas.
|_+_|gramo) Ahora podemos instalar ansible solo en la máquina de control habilitando el repositorio EPEL de fedora, que proporciona paquetes de software complementarios. Realice los siguientes pasos para instalar RESPONSABLE.
|_+_|La versión ansible utilizada es 2.5.3
h) Edite el ansible.cfg y habilite el parámetro de archivo de inventario en la máquina de Control.
|_+_|
I) Ansible utiliza el concepto de Inventario para administrar y rastrear las máquinas objetivo. De forma predeterminada, este archivo se encuentra en / etc / ansible / hosts y también se puede cambiar. Un archivo de host consta de grupos para una mejor clasificación y varias máquinas en el grupo. Todas las máquinas necesarias se pueden agregar a esos grupos.
Cada grupo se indica con un corchete y un nombre de grupo dentro. De hecho, un servidor puede existir en varios grupos.
Edite el archivo de inventario / etc / ansible / hosts y agregue todos los servidores que necesitan ser administrados.
j) Para probar la conectividad de los servidores en el grupo del servidor web, ejecute el ping ansible comando como se muestra. Aquí silbido es un módulo que realiza una función particular para probar si los hosts pueden conectarse como se define en el archivo de inventario o no. Veremos más sobre varios módulos y sus ejemplos en la siguiente sección.
|_+_|
Para enumerar los hosts en el archivo de inventario, puede ejecutar el siguiente comando
|_+_|Uso de Ansible
Ansible consta de 3 componentes principales
- Maquina de control
- Inventario
- Playbook
La máquina de control gestiona la ejecución del Playbook. Se puede instalar en su computadora portátil o en cualquier máquina en Internet.
El archivo de inventario proporciona una lista completa de todas las máquinas de destino en las que se ejecutan varios módulos haciendo una conexión SSH e instalando el software necesario.
El libro de jugadas consta de los pasos que realizará el mecanismo de control en los servidores definidos en el archivo de inventario.
Es muy importante entender aquí que Ansible interactúa con todos los servidores definidos en el inventario a través del protocolo SSH, que es un método seguro de inicio de sesión remoto. Cada operación se realiza y la transferencia de archivos está encriptada.
Entonces, como habrá visto en la sección anterior, Ansible no usa ningún tipo de base de datos para la instalación y es muy fácil de instalar, ahora procederemos con el uso real de Ansible comenzando con Módulos, que es el componente principal.
Módulos Ansible
Los módulos son los componentes principales de Ansible y son básicamente scripts reutilizables que utilizan los libros de jugadas de Ansible. Ansible viene con varios módulos reutilizables. Estos incluyen funcionalidad para controlar servicios, instalación de paquetes de software, trabajar con archivos y directorios, etc.
La sintaxis es la siguiente mientras se ejecutan los comandos ad-hoc que ayudan a ejecutar tareas simples o únicas una sola vez y que no necesitan ejecutarse más tarde. Para P.ej. simplemente instalando Tomcat en todos los servidores.
|_+_|Echemos un vistazo a algunos de los módulos Ansible más populares y su uso a través de los comandos ad-hoc y más adelante en el libro de jugadas.
# 1) Módulo de configuración
Para obtener información sobre la red o el hardware o la versión del sistema operativo o información relacionada con la memoria, el módulo de configuración ayudará a recopilar lo mismo sobre las máquinas de destino. En el control, la máquina ejecuta el siguiente comando.
|_+_|
# 2) Módulo de comando
El módulo de comando simplemente ejecuta un comando específico en la máquina de destino y da la salida.
Algunos de los ejemplos se dan a continuación.
|_+_|
# 3) Módulo de carcasa
Para ejecutar cualquier comando en el shell de su elección, puede usar el módulo Shell. Los comandos del módulo de shell se ejecutan en el shell / bin / sh y puede hacer uso de operadores como '>' o '|' (símbolo de tubería o incluso variables de entorno.
Entonces, principalmente, la diferencia entre el módulo Shell y Command es que si realmente no necesita usar los operadores como los mencionados, entonces puede usar el módulo de comando.
|_+_|
En las máquinas del grupo de servidores web, compruebe el archivo creado y ejecute el comando para ver el archivo de texto.
|_+_|# 4) Módulo de usuario
Con este módulo se pueden crear o eliminar usuarios.
Para agregar usuario
|_+_|
Para eliminar usuario
|_+_|
Opciones:
- volverse - Privilegio al superusuario para ejecutar el comando
- estado = ausente para borrar el usuario
# 5) Módulo de archivo
Este módulo se utiliza para crear archivos, directorios, establecer o cambiar los permisos y la propiedad de los archivos, etc.
Ejemplo 1: Crea un archivo
|_+_|
Ejemplo 2: Crea un directorio
Para crear un directorio usando el módulo de archivo, necesita establecer dos parámetros.
- Ruta (alias - nombre, destino): esta es la ruta absoluta del directorio que se creará.
- Estado: debe ingresar el valor como 'directorio'. De forma predeterminada, el valor es 'archivo'.
Ejemplo 3: Eliminar un archivo
|_+_|
Ejemplo 4: Eliminar un directorio
Puede eliminar un directorio estableciendo el valor del parámetro de estado en ausente . Se eliminará el directorio y todo su contenido.
|_+_|
¿Cómo abro un archivo jar?
# 6) Módulo de copia
Se utiliza para copiar archivos en varias máquinas de destino.
|_+_|
# 7) Gestión de paquetes de software
Si necesita instalar paquetes de software a través de 'yum' o 'apt', puede utilizar los siguientes comandos.
Ejemplo 1: Instalar GIT
|_+_|
En la ventana de la derecha, puede ver si git no está instalado, dará el comando no encontrado y, una vez instalado, mostrará la salida.
En este comando, estado = presente Verificará si el paquete está instalado o no y si no está instalado, instalará la última versión.
Ejemplo 2: Compruebe si el paquete está instalado y actualícelo a la última versión.
|_+_|En el comando anterior, estado = último actualizará el paquete solo a la última versión.
Ejemplo 3: Instalar el servidor web Apache
|_+_|Ejemplo 4: Compruebe si Maven está instalado o no.
|_+_|# 8) Módulo de gestión de servicios
Para gestionar servicios con ansible, utilizamos un módulo 'Servicio'.
Iniciar un servicio
|_+_|
Detener un servicio
|_+_|Reiniciar un servicio
|_+_|Hacer clic aquí para obtener la lista de módulos completos.
Resumen
En este tutorial, le presenté los conceptos y componentes básicos de Ansible y también hemos visto más sobre la instalación, configuración y uso de Ansible con la ayuda de los módulos de Ansible, que es el componente principal en la ejecución de Ansible.
En nuestro próximo tutorial, nos centraremos en el aspecto muy importante de escribir libros de jugadas para la automatización de tareas y las bóvedas de Ansible para mantener los datos confidenciales en archivos cifrados.
PREV Tutorial | SIGUIENTE Tutorial
Lectura recomendada
- Tutoriales detallados de Eclipse para principiantes
- Funciones de Ansible, integración con Jenkins en DevOps y módulos EC2
- Automatización de tareas con libros de jugadas de Ansible y bóvedas de Ansible con ejemplos
- Instalación y configuración paso a paso de Appium Studio
- Introducción al lenguaje de programación Java - Tutorial en vídeo
- Configuración e instalación completa de WebDriver con Eclipse - Tutorial de Selenium n. ° 9
- Descarga e instalación de Jira con configuración de licencia de Jira
- Proceso de introducción e instalación de Python