Deploy Airflow Container
Conexión a DevBox
Antes de poder implementar Tu Primer DAG, debemos aprender a desplegar nuestra Mini-Data-Platform en Machine-0, la cual cuenta con todos los componentes necesarios para el desarrollo del taller y, en este caso, Airflow.
Lo primero que haremos es conectarnos a machine-0. Una vez conectados, navegaremos hacia "/home/z2h", donde navegaremos a nuestra folder repos
desde la terminal VScode.
Mini-Data-Platform
Docker Compose
Una vez clonado el repositorio desde la misma terminal ejecutamos los siguientes comandos en la terminal:
cd repos
cd mini-data-platform
Luego, ejecutarás el siguiente comando en la terminal de Docker:
docker compose -f airflow.docker-compose up
El comando cd mini-data-platform
se utiliza para cambiar el directorio actual al directorio mini-data-platform
, que contiene el proyecto específico con recursos y configuraciones necesarias para ese contexto. A continuación, el comando docker compose up
se ejecuta para iniciar y orquestar todos los servicios definidos en un archivo docker compose -f airflow.docker-compose up
ubicado en este directorio. Esto configura, inicia y descarga todos los contenedores Docker necesarios para el entorno de la aplicación, siguiendo las instrucciones especificadas en el archivo de airflow.docker-compose.yml
facilitando la configuración y el despliegue integrado de aplicaciones multi-contenedor.
Una vez se hayan descargado e iniciado los contenedores, verás desde la terminal de VSCode el
log
de todos los contenedores iniciados
Extension Docker
Ahora, procedamos con la instalación de la extensión Docker en VS Code, esto por si aún no la tienes instalada
La extensión de Docker en Visual Studio Code, conocida como "Docker Extension", es una herramienta muy útil para desarrolladores que trabajan con Docker, ya que proporciona una integración directa con el entorno de desarrollo de VS Code. Esta extensión facilita la gestión de imágenes, contenedores, volúmenes y redes de Docker directamente desde el editor, mejorando así la productividad y eficiencia al trabajar con proyectos basados en contenedores.
Para instalar la extensión de Docker en Visual Studio Code, sigue estos pasos:
-
Accede al Marketplace de Extensiones. Puedes hacerlo de varias maneras:
- Presiona
Ctrl+Shift+X
(en Windows/Linux) oCmd+Shift+X
(en macOS) para abrir el panel de extensiones. - Haz clic en el icono de cuadros (Extensiones) en la barra lateral izquierda.
- Presiona
-
Buscar la Extensión de Docker. En el campo de búsqueda, escribe “Docker” y presiona Enter. Busca la extensión llamada Docker que está desarrollada por Microsoft (asegúrate de que sea la versión oficial).
-
Instalar la Extensión. Haz clic en el botón verde que dice "Instalar" al lado de la extensión de Docker
Ahora, desde extension docker podremos visualizar los contenedores docker que se están ejecutando en DevBox.
Local Port Forwarding
El reenvío de puertos, también conocido como "port forwarding" o "mapping", es una técnica utilizada en redes de computadoras para permitir que dispositivos externos accedan a servicios en dispositivos privados (como servidores o computadoras personales) que están dentro de una red local (LAN), a través de puertos específicos en la interfaz de red de un router conectado a una red pública (como Internet).
El reenvío de puertos redirige el tráfico que llega a un puerto específico del router hacia el puerto correspondiente de un dispositivo en la red interna. Esto es útil cuando se necesita acceder a recursos o servicios específicos de una red privada desde el exterior y en nuestro caso podremos acceder a nuestros servicios docker con el reenvío de puertos.
La compatibilidad con el reenvío de puertos está integrada en Visual Studio Code, no se requiere extensión. Al ejecutar un servicio web local, puede utilizar la vista Puertos para que otras personas puedan acceder al servicio a través de Internet.
Cómo utilizar el reenvío de puertos locales
Como en nuestro caso ya tenemos los servicios de Docker corriendo en DevBox a través de la Mini-Data-Platform, cada servicio expone un puerto para acceder al servicio como tal. Los servicios que están corriendo en DevBox son:
- Airflow
Port 7777
- Jupyter Notebook
Port 8888
- Minio
Port 9001
- Postgres
Port 5432
- PGAdmin
Port 5050
- Superset
Port 8088
Luego, navegue hasta la vista Puertos en la región del Panel ( Puertos: centrarse en la vista de puertos ) y seleccione Reenviar un puerto escribiendo el número del puerto al cual deseas acceder, por ejemplo, si queremos acceder al servicio Airflow
, digitaremos el número 7777
en la sección Port
. Para acceder desde el navegador, solo debemos hacer clic en el icono global
ubicado en la sección Forwarded Address
. Esto automáticamente abrirá el navegador de tu PC llevándote a http://localhost:7777.
La otra forma de acceder a cualquier servicio iniciado por Docker es abriendo el puerto desde la sección Ports
en la terminal, como se explicó en el paso anterior. Solo debes abrir tu navegador y escribir en la barra de direcciones localhost:xxxx
, donde xxxx
es el número del puerto al que deseas acceder