Ansible es una herramienta de configuración y automatización gratuita y de código abierto para sistemas operativos similares a UNIX. Está escrito en python y es similar a Chef o Puppet, pero hay una diferencia y la ventaja de Ansible es que no necesitamos instalar ningún agente en los nodos. Utiliza SSH para comunicarse con sus nodos.
En este artículo demostraremos cómo instalar y configurar Ansible en CentOS 7 e intentaremos administrar sus dos nodos.
Servidor Ansible – ansible.linuxtechi.com ( 192.168.1.15 )
Nodos – 192.168.1.9 , 192.168.1.10
Paso :1 Establecer repositorio EPEL
El paquete Ansible no está disponible en los repositorios yum predeterminados, por lo que habilitaremos el repositorio epel para CentOS 7 usando los siguientes comandos
[[email protected] ~]# yum install epel-release -y
Paso:2 Instalar Anisble usando el comando yum
[[email protected] ~]# yum install ansible
Una vez completada la instalación, verifique la versión de ansible:
[[email protected] ~]# ansible --version
Paso:3 Configure la autenticación SSH basada en claves con Nodes.
Genere claves en el servidor de Ansible y copie la clave pública en los nodos.
[email protected] ~]# ssh-keygen
Utilice el comando ssh-copy-id para copiar la clave pública del servidor Ansible en sus nodos.
Paso:4 Definir los nodos o inventario de servidores para Ansible.
Archivo '/etc/ansible/hosts ‘ mantiene el inventario de servidores para Ansible.
[[email protected] ~]# vi /etc/ansible/hosts [test-servers] 192.168.1.9 192.168.1.10
Guarde y salga del archivo.
Salida de muestra del archivo de hosts.
Paso:5 Ahora intente ejecutar los comandos desde Ansible Server.
Verifique la conectividad de los 'servidores de prueba' o nodos ansibles usando ping
[[email protected] ~]# ansible -m ping 'test-servers'
Ejecución de comandos de Shell:
Ejemplo:1 Comprobar el tiempo de actividad de los nodos de Ansible
[[email protected] ~]# ansible -m command -a "uptime" 'test-servers'
Ejemplo:2 Comprobar la versión del kernel de los nodos
[[email protected] ~]# ansible -m command -a "uname -r" 'test-servers'
Ejemplo:3 Agregar un usuario a los nodos
[[email protected] ~]# ansible -m command -a "useradd mark" 'test-servers' [[email protected] ~]# ansible -m command -a "grep mark /etc/passwd" 'test-servers'
Ejemplo:4 Redirigir la salida del comando a un archivo
[[email protected] ~]# ansible -m command -a "df -Th" 'test-servers' > /tmp/command-output.txt
Lea también: Cómo descargar y usar los roles de Ansible Galaxy en Ansible Playbook