Aprovisionar y configurar en un solo flujo
Entregue los hosts nuevos a los plays de configuración
Aprovisionar y configurar en un solo flujo es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Dos trabajos, un playbook
El aprovisionamiento hace que un servidor exista. La configuración hace que sea útil. La verdadera potencia está en hacer ambas cosas en un único play fluido. 🔗
Aprovisione en el nodo de control
Las tareas de creación en la nube se ejecutan localmente contra la API de AWS, por lo que el play de aprovisionamiento debe dirigirse a localhost, no al servidor nuevo.
- hosts: localhost
gather_facts: false
tasks:
- amazon.aws.ec2_instance: { name: web-01 }Capture el nuevo host
No puede conectarse por SSH a un equipo del que aún no conoce los datos. Use register con el resultado de ec2_instance para obtener su nueva IP pública.
- amazon.aws.ec2_instance:
name: web-01
register: ec2Añádalo al inventario en memoria
El módulo add_host inyecta el nuevo servidor en el inventario en ejecución, de modo que un play posterior puede dirigirse a él sin un archivo estático.
- add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launchedEspere hasta que SSH esté listo
Una instancia que se está iniciando no está disponible de inmediato. wait_for hace una pausa hasta que el puerto 22 responda antes de intentar conectarse.
- wait_for:
host: "{{ ec2.instances[0].public_ip_address }}"
port: 22Inicie un segundo play
Ahora abra un play nuevo dirigido al grupo launched que acaba de crear. Este play se ejecuta en el propio servidor de la nube.
- hosts: launched
become: true
tasks:
- ping:Configure el host recién creado
Con el host en el inventario, entran en acción los módulos habituales. Instale paquetes, copie configuraciones e inicie servicios exactamente igual que en cualquier otro nodo.
- hosts: launched
tasks:
- package:
name: nginx
state: presentPase el usuario SSH correcto
Las imágenes de nube utilizan nombres de usuario específicos, como ubuntu o ec2-user. Establezca ansible_user para que el play de configuración se conecte correctamente.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_user: ubuntuUn solo archivo, de principio a fin
El resultado es un único playbook: el play uno crea la infraestructura y el play dos la configura. Ejecútelo una vez y aparecerá un servidor operativo.
Idempotente de principio a fin
Ambas partes son idempotentes. Al volver a ejecutar el flujo, se identifica la instancia existente y la configuración converge, por lo que es seguro repetirlo.
Omita las solicitudes de clave del host
Un host completamente nuevo tiene una clave SSH desconocida. Desactive host_key_checking para el grupo iniciado, de modo que la primera conexión no se quede bloqueada.
add_host:
name: "{{ ec2.instances[0].public_ip_address }}"
groups: launched
ansible_ssh_common_args: "-o StrictHostKeyChecking=no"Comprobación rápida
Acaba de iniciar una instancia EC2 y quiere que el siguiente play la configure, sin ninguna entrada de inventario estática. ¿Qué conecta ambas partes?
Resumen
Conectó el aprovisionamiento y la configuración: cree en localhost, registre la IP, use add_host, espere a SSH y configure en un segundo play. ✨
Preguntas frecuentes
¿La lección «Aprovisionar y configurar en un solo flujo» es gratis?
Sí — el texto completo de «Aprovisionar y configurar en un solo flujo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Aprovisionar y configurar en un solo flujo»?
Entregue los hosts nuevos a los plays de configuración Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Aprovisionar y configurar en un solo flujo»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Collections de nube y autenticación
- Lanzar instancias EC2 de forma declarativa
- Redes: VPC, subredes y grupos de seguridad
- Aprovisionar y configurar en un solo flujo