7.4.8 Lab - Use Ansible To Automate Installing A Web Server
7.4.8 Lab - Use Ansible To Automate Installing A Web Server
7.4.8 Lab - Use Ansible To Automate Installing A Web Server
Objetivos
Parte 1: Iniciar la Máquina Virtual (Virtual Machine) DEVASC.
Parte 2: Configurar Ansible.
Parte 3 Verificar las comunicaciones con el servidor web local.
Parte 4: Crear playbooks de Ansible para automatizar la instalación del servidor web.
Parte 5: Agregar opciones a su playbook de Ansible para servidores web Apache.
Aspectos básicos/Situación
En este laboratorio, primero configurará Ansible para que pueda comunicarse con una aplicación de servidor
web. A continuación, creará un libro de jugadas que automatizará el proceso de instalación de Apache en el
servidor web. También creará un libro de jugadas personalizado que instala Apache con instrucciones
específicas.
Recursos necesarios
1 Computadora con sistema operativo de su elección
Virtual Box o VMWare
Máquina virtual (Virtual Machine) DEVASC
Instrucciones
- 木曜日 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 1 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
Instalar SSH
devasc @labvm: ~$ sudo apt-get install openssh-server
Instalar sshpass
devasc @labvm: ~$ sudo apt-get install sshpass
c. Las credenciales devasc y Cisco123! son credenciales de administrador para la máquina virtual de
DEVASC. La dirección IPv4 que utilizará para este laboratorio es 192.0.2.3. Esta es una dirección IPv4
estática en la máquina virtual bajo la interfaz dummy0, como se muestra en la salida del comando ip
addr.
devasc @labvm: ~/labs/devnet-src/ansible$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen
1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group
default qlen 1000
enlace/éter 08:00:27:97:ae:11 brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic enp0s3
valid_lft 45882sec preferred_lft 45882sec
inet6 fe80። a 00:27 ff:fe97:ae11/64 enlace de alcance
valid_lft forever preferred_lft forever
3: dummy0: <BROADCAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group
default qlen 1000
enlace/éter a 6:44:a7:e 8:6 a:9e brd ff:ff:ff:ff:ff:ff
inet 192.0.2.1/32 scope global dummy0
valid_lft forever preferred_lft forever
inet 192.0.2.2/32 scope global dummy0
valid_lft forever preferred_lft forever
inet 192.0.2.3/32 scope global dummy0
valid_lft forever preferred_lft forever
inet 192.0.2.4/32 scope global dummy0
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 2 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
Paso 1: Utilice el módulo ping para comprobar que Ansible puede hacer ping al servidor web.
Utilice el módulo ping de Ansible para verificar las comunicaciones con los dispositivos enumerados en el
grupo de servidores web del archivo de inventario de hosts.
devasc @labvm: ~/labs/devnet-src/ansible/ansible-apache$ servidores web
ansible -m ping
192.0.2.3 | SUCCESS => {
"ansible_facts": {
«discovered_interpreter_python»: «/usr/bin/python3"
},
"changed": false,
"ping": "pong"
}
devasc @labvm: ~/labs/devnet-src/ansible/ansible-apache$
Paso 2: Utilice el módulo de comando para verificar que Ansible pueda comunicarse con el
servidor web.
Utilice el módulo de comandos de Ansible para verificar las comunicaciones con los dispositivos
enumerados en el grupo de servidores web del archivo de inventario de hosts. En este ejemplo se envía el
argumento -un «/bin/echo hola world» para pedirle al servidor web local que responda con ¡Hola, mundo!
devasc @labvm: ~/labs/devnet-src/ansible/ansible-apache$ ansible webservers -m
comando -a «/bin/echo hello world»
192.0.2.3 | CAMBIADAS | rc=0 >
Hello, World! (¡Hola, mundo!).
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 3 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
Parte 4: Crear guías de Ansible para automatizar la instalación del servidor web
En esta parte, creará dos manuales de Ansible. El primer manual automatizará la prueba de eco que hizo en
la parte anterior. Imagine que está conectando cien servidores web. El grupo [webserver] del archivo hosts
enumeraría toda la información necesaria para cada servidor web. A continuación, puede utilizar un sencillo
playbook para verificar las comunicaciones con todos ellos con un solo comando. En el segundo playbook,
creará y automatizará la instalación del software de servidor web Apache.
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 4 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
b. Agregue la siguiente información al archivo. Asegurarse de utilizar la extension YAML adecuada. Cada
espacio y guión es significativo. Puede perder algo de formato si copia y pega. El texto resaltado se
explica en el siguiente paso.
---
- hosts: webservers
become: yes
tareas:
- name: INSTALL APACHE2
apt: nombre=apache2 update_cache=yes state=latest
handlers:
- name: RESTART APACHE2
servicio: nombre=apache2 state=reiniciado
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 5 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
Al Iniciar captura, debe mostrar ok y failed=0 indicando una ejecución exitosa del playbook.
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 6 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
handlers:
- name: RESTART APACHE2
service: name=apache2 state=restarted
Esta lista de reproducción es muy similar a la anterior con la adición de dos tareas que hacen que los
servidores web escuchen en el puerto 8081 en lugar del puerto 80.
El módulo lineinfile se utiliza para reemplazar las líneas existentes en los archivos
/etc/apache2/ports.conf y /etc/apache2/sites-available/000-default.conf. Puede buscar más información
en la documentación de Ansible en el módulo lineinfile.
Paso 2: Examinar los dos archivos que serán modificados por el libro de jugadas.
Muestra los archivos /etc/apache2/ports.conf y /etc/apache2/sites-available/000-default.conf. Observe
que el servidor web está escuchando actualmente en el puerto 80.
devasc @labvm: ~/labs/devnet-src/ansible/ansible-apache$ cat
/etc/apache2/ports.conf
# Si acaba de cambiar el puerto o añadir más puertos aquí, es probable que también
# debe cambiar la instrucción VirtualHost en
# /etc/apache2/sites-enabled/000-default.conf
Listen 80
<IfModule ssl_module>
Listen 443
<output omitted>
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 7 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
Listen 8081
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 8 de 9
www.netacad.com
Laboratorio - Utilice Ansible para automatizar la instalación de un servidor web
Listen 443
</IfModule>
b. Abra el navegador web Chromium e introduzca la dirección IPv4 del nuevo servidor. Pero esta vez
especifique 8081 como el número de puerto, 192.0.2. 3:8081, para ver la página web predeterminada de
Apache2.
Nota: Aunque puede ver en el archivo ports.conf que Apache2 también está escuchando en el
puerto 443, esto es para HTTP seguro. Aún no ha configurado Apache2 para un acceso seguro.
Esto, por supuesto, se añadiría a su manual de Ansible, pero está fuera del alcance de este curso.
Fin del documento
- 2020 Cisco y/o sus filiales. Todos los derechos reservados. Información pública de Cisco Página 9 de 9
www.netacad.com