Lee esto en otros idiomas:
English, Française, Español.
- Objetivos
- Guía
- Examinar un inventario
- Credenciales de máquina
- Configurar credenciales de máquina
- Ejecutar comandos Ad Hoc
- Laboratorios de desafío: Comandos Ad Hoc
Explore y comprenda el entorno de laboratorio. Este ejercicio cubrirá
- Ubicación y comprensión:
- Ansible Tower Inventarios
- Ansible Tower Credenciales
- Ejecución de comandos ad hoc a través de la interfaz de usuario web de Ansible Tower
Lo primero que necesitamos es un inventario de sus hosts administrados. Esto es el equivalente de un archivo de inventario en Ansible Engine. Hay mucho más (como inventarios dinámicos), pero comencemos con lo básico.
- Ya debería tener abierta la interfaz de usuario web, si no: Apunte su navegador a la dirección URL que se le dio, de forma similar a https://student\<X>.workshopname.rhdemo.io (reemplazar "<X>" con su numero de estudiante y "nombre de taller" con el nombre de su taller actual) e inicie sesión como
admin
. La contraseña será proporcionada por el instructor.
Habrá un inventario, Workshop Inventory. Haga clic en el Workshop Inventory y, a continuación, haga clic en el botón Hosts
La información de inventario en ~/lab_inventory/hosts
fue precargado en el inventario de Ansible Tower como parte del proceso de aprovisionamiento.
$ cat ~/lab_inventory/hosts
[all:vars]
ansible_user=student<X>
ansible_ssh_pass=PASSWORD
ansible_port=22
[web]
node1 ansible_host=22.33.44.55
node2 ansible_host=33.44.55.66
node3 ansible_host=44.55.66.77
[control]
ansible ansible_host=11.22.33.44
Advertencia
En su inventario las direcciones IP serán diferentes.
Ahora examinaremos las credenciales para acceder a nuestros hosts administrados desde Tower. Como parte del proceso de aprovisionamiento para este Taller Ansible, ya se ha configurado las Workshop Credential.
En el menú RESOURCES, elija Credentials. Ahora haga clic en la Workshop Credential.
Tenga en cuenta la siguiente información:
Parámetro | Valor |
---|---|
Credential Type | Machine - Las credenciales de máquina definen el acceso a la escalación de privilegios ssh y de nivel de usuario para los playbooks. Se utilizan al enviar trabajos para ejecutar playbook en un host remoto. |
username | ec2-user - que coincide con nuestro nombre de usuario de inventario Ansible de la línea de comandos para los otros nodos de Linux |
SSH PRIVATE KEY | ENCRYPTED - tomar nota de que en realidad no se puede examinar la clave privada SSH una vez que alguien la entrega a Ansible Tower |
También es posible ejecutar comandos ad hoc desde Ansible Tower.
-
En la interfaz de usuario web vaya a RESOURCES → Inventories → Workshop Inventory
-
Haga clic en el botón HOSTS para cambiar a la vista de hosts y seleccione los tres hosts marcando las casillas a la izquierda de las entradas del host.
-
Haga clic en RUN COMMANDS. En la siguiente pantalla debe especificar el comando ad hoc:
Parámetro | Valor |
---|---|
MODULE | ping |
MACHINE CREDENTIAL | Workshop Credentials |
- Haga clic en LAUNCH y observe la salida.
El módulo simple ping no necesita opciones. Para otros módulos, debe proporcionar el comando para que se ejecute como argumento. Pruebe el módulo command para buscar el ID de usuario del usuario en ejecución mediante un comando ad hoc.
Parámetro | Valor |
---|---|
MODULE | command |
ARGUMENTS | id |
Consejo
Después de elegir el módulo que se va a ejecutar, Tower proporcionará un enlace a la página de documentos del módulo al hacer clic en el signo de interrogación situado junto a "Arguments". Esto es útil, pruébalo.
¿Qué tal si tratamos de obtener información secreta del sistema? Intente imprimir /etc/shadow.
Parámetro | Valor |
---|---|
MODULE | command |
ARGUMENTS | cat /etc/shadow |
Advertencia
¡Espere un error!
Oops, el último no salió bien, todo rojo.
Vuelva a ejecutar el último comando ad hoc, pero esta vez marque la casilla ENABLE PRIVILEGE ESCALATION.
Como ves, esta vez funcionó. Para las tareas que tienen que ejecutarse como root, debe escalar los privilegios. Esto es lo mismo que el become: yes utilizado en sus Playbooks de Ansible.
Bien, un pequeño desafío: Ejecuta un comando ad hoc para asegurarte de que el paquete "tmux" está instalado en todos los hosts. Si no está seguro, consulte la documentación a través de la interfaz de usuario web como se muestra arriba o ejecutando [ansible@tower ]$ ansible-doc yum
en el host de control de Tower.
Advertencia
Solución a continuación!
Parámetro | Valor |
---|---|
yum | command |
ARGUMENTS | name=tmux |
ENABLE PRIVILEGE ESCALATION | ✓ |
Consejo
La salida amarilla del comando indica que Ansible ha hecho algo (aquí se necesita instalar el paquete). Si ejecuta el comando ad hoc por segunda vez, la salida será verde e informará de que el paquete ya estaba instalado. Así que el amarillo en Ansible no significa "tener cuidado"... ;-).
Navegación
Ejercicio anterior - Próximo Ejercicio
Haga clic aquí para volver al Taller Ansible for Red Hat Enterprise Linux