Ansible es una poderosa herramienta de automatización de código abierto que le permite administrar y configurar servidores, dispositivos de red y aplicaciones. Ansible generalmente se usa para automatizar tareas en hosts remotos, pero también puede ejecutarlo en su computadora sin un host remoto. Esto es muy útil si desea probar algunas funciones rápidamente en su computadora. Este artículo trata sobre cómo ejecutar Ansible Playbook localmente.
Cómo ejecutar Ansible Playbook localmente
Especifique Localhost en la directiva de hosts de su playbook.
Si está ejecutando un playbook que desea ejecutar en localhost , o si tiene un libro de jugadas que desea ejecutar en su propia computadora. Simplemente escriba”localhost”en la sección”hosts”del libro de jugadas, que es donde generalmente escribe”grupo de host”. Eche un vistazo a este libro de jugadas.
Acabamos de informar a la directiva o clave de hosts sobre el host local. Cuando sigues este plan. Aunque no tenga una entrada localhost en su archivo de inventario ansible (/etc/ansible/hosts) o un archivo de hosts personalizado (especificado con la opción-i), este comando se ejecutará. Estaría bien
Como verificación adicional, debería ejecutarse en localhost o localmente. Puede agregar un parámetro de conexión y configurarlo como”local”.
nombre:”Jugar con Ansible y Git”hosts: conexión localhost: tareas locales: nombre:”simplemente ejecute un comando ls-lrt”shell:”ls-lrt”register:”output”debug: var=output.stdout_lines
Uso de la cláusula local_action en el libro de jugadas ansible
Este método es mejor que los otros tres, pero depende de usted decidir si se ajusta a tus necesidades. Aquí hay un ejemplo de un libro de jugadas local que configura una instancia EC2 que se conecta a AWS.
Si observa detenidamente, verá que no enumeramos ningún host aquí. En su lugar, usamos la cláusula de acción local para decir que esta tarea debe ejecutarse localmente.
nombre: crear una instancia ec2
acción_local:
módulo: ec2
imagen: ami-8caa1ce4
tipo_instancia: m3.medium
key_name: mykey
group:
-web
-ssh
instance_tags:
type: web
env: production
Agregue una entrada en su Inventario
Esta es otra forma de ejecutar un libro de jugadas local de Ansible.
También puede decirle a su archivo de inventario cuál es su host local. Su archivo de inventario puede estar en/etc/ansible/hosts, que es la ubicación predeterminada, o en un archivo de hosts ansible personalizado en el directorio en el que se encuentra actualmente. Ahora, si utilizó el mismo libro de jugadas que le proporcionamos anteriormente, obtendría los mismos resultados. La línea resaltada en amarillo muestra que el host local se agregó al archivo de inventario. Entonces, si desea darle a su host local un nombre diferente, puede hacerlo de esta manera. Puede hacer lo mismo que”controlarmáquina”. Ahora puede poner este nombre para localhost en su libro de jugadas, como hosts: controlmachine
FAQ
¿Ansible Windows usa SSH o WinRM?
PowerShell Remoting usa el mismo protocolo que WinRM para ejecutar comandos remotos desde dentro de PowerShell. Al momento de escribir este artículo, Ansible admite SSH como protocolo de administración, pero aún es una característica experimental. Debe configurar WinRM para que Ansible pueda usarlo para hablar con el nodo de Windows.
¿Cómo ejecutar el libro de jugadas de Ansible en el host local de Linux?
Al poner”localhost”en el argumento de los hosts del libro de jugadas ansible, podemos ejecutarlo localmente o en la máquina de control ansible. En el argumento hosts, escriba”localhost”para que todo este libro de jugadas se ejecute en la máquina local o en la máquina de control ansible. Este libro de jugadas se ejecutará en la máquina que tiene en casa.
¿Podemos ejecutar el libro de jugadas de Ansible en Windows?
¿Se puede usar Windows para ejecutar Ansible? No, Ansible solo puede manejar hosts que ejecutan Windows. Ansible no puede ejecutarse directamente en un host de Windows, pero puede ejecutarse en un Subsistema de Windows para host Linux (WSL).
¿Dónde se ejecuta un playbook de Ansible?
Ansible se ejecuta desde el nodo de control. Por ejemplo, el comando ansible-playbook se ejecuta desde el nodo de control. Los dispositivos que se están automatizando, como un servidor de Microsoft Windows, se denominan”nodos administrados”.
¿Cómo puedo hacer que el libro de jugadas de Ansible sea interactivo?
Agregue una sección de”indicación de vars”a su libro de jugadas si desea que se le solicite al usuario cierta información. Cuando le pide al usuario variables, no tiene que escribir información confidencial como contraseñas. Junto con la seguridad, las indicaciones lo ayudan a ser flexible.