Skip to main content

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

Generator

Generator

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

Generator

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

note

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:

  1. Accede al Marketplace de Extensiones. Puedes hacerlo de varias maneras:

    • Presiona Ctrl+Shift+X (en Windows/Linux) o Cmd+Shift+X (en macOS) para abrir el panel de extensiones.
    • Haz clic en el icono de cuadros (Extensiones) en la barra lateral izquierda.
  2. 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).

  3. Instalar la Extensión. Haz clic en el botón verde que dice "Instalar" al lado de la extensión de Docker

Generator

Ahora, desde extension docker podremos visualizar los contenedores docker que se están ejecutando en DevBox.

Generator

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.

note

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.

Generator

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.

Generator

Generator

note

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