Primeros pasos con Ansible

    Vamos a instalar Ansible tanto para versiones basadas en CentOS y Debian, Ubuntu, Raspbian,…

    Para la instalación en CentOS:

    yum -y install epel-release
    yum -y install ansible nmap libselinux-python
    ansible --version
    

    Para la instalación en Debian:

    apt-get update
    apt-get upgrade
    apt install ansible nmap
    ansible --version
    

    En este punto, ya tenemos Ansible instalado en el sistema y podemos deshabilitar ciertos parámetros aunque si no estamos familiarizados con la plataforma no se recomienda para evitar problemas en el momento de hacer debug.

    sed -i 's/#system_warnings = True/system_warnings = False/g' /etc/ansible/ansible.cfg
    sed -i 's/# command_warnings = False/command_warnings = False/g' /etc/ansible/ansible.cfg
    sed -i 's/#deprecation_warnings = True/deprecation_warnings = False/g' /etc/ansible/ansible.cfg
    

    Ahora, realizaremos una configuración básica para poder conectar con la infraestructura a administrar.

    Crearemos una definición a nivel de hosts. Como recomendación, si tenemos una infraestructura pequeña o bien controlada mejor crear tags (grupos). Como ejemplo:

    cat <<'EOF' > /etc/ansible/hosts
    [RPI]
    10.0.1.71
    10.0.1.72
    10.0.1.73
    
    [DEBIAN]
    10.0.1.74
    
    [CENTOS]
    10.0.1.75
    
    [RHEL]
    10.0.1.76
    EOF
    

    Una vez definido será necesario copiar las claves privadas. De Ansible hacia los respectivos equipos anteriores
    En este ejemplo, definimos como variable el host destino (10.0.1.71)

    HOST_DST='10.0.1.71'
    ssh-keygen -t rsa
    cd
    ssh ${HOST_DST} mkdir -p .ssh
    cat .ssh/id_rsa.pub | ssh ${HOST_DST} 'cat >> .ssh/authorized_keys'
    

    Esta acción permitirá conectar, mediante intercambio de claves, acceder de Ansible al equipo remoto sin password.

    Ya está preparado el entorno. Ahora, podemos listar los equipos que hemos configurado anteriormente:

    o bien listar únicamente las que tenemos agrupados en uno grupo en concreto:

    ansible --list-hosts LINUX
    

    Leave a Reply

    Your email address will not be published. Required fields are marked *