Skip to content

fcongedo/desafio-flask

Repository files navigation

Paso 0: Instalación de Herramientas/Entorno de trabajo

Este README proporciona instrucciones básicas para la instalación de herramientas necesarias y la configuración de una máquina virtual con Vagrant con las herramientas necesarias para el desafio (docker, minikube, kubectl)

Configuración de Vagrant :

En el directorio de tu proyecto, encontrarás una carpeta llamada "Vagrant". Esta carpeta contiene la configuración necesaria para levantar una máquina virtual.

  1. Iniciar la Máquina Virtual: Ejecuta el siguiente comando dentro del directorio "Vagrant":
    vagrant up
  2. Conexión SSH: Para conectarte a la máquina virtual por SSH, utiliza el siguiente comando:
    vagrant ssh
  3. Túnel a la Máquina Host: Puedes crear un túnel desde la máquina virtual a tu máquina host para acceder a servicios que se ejecuten en la VM desde el host. Utiliza el siguiente comando para configurar el túnel:
    vagrant ssh -- -L 5000:localhost:5000

Paso 1: Dockerfile

Para construir la imagen de docker podremos hacerlo de forma manual descargando el codigo y haciendo un docker build o utilizar la github action ya configurada para que en cada cambio que hagamos en algun archivo del directorio Docker, se ejecute y haga el proceso de construir la imagen y subirla a dockerhub, es importante haber activado Github Actions y configurado los secretos para subir la imagen a dockerhub.

Uso de docker

  1. Primero debemos descargar la imagen manualmente: Para descargar la imagen alojada en un repositorio de dockerhub, debemos ejecutar el siguiente comando:

    docker pull fcongedo/app-flask:1
  2. Crear la Imagen de Docker Manualmente:Para crear una imagen de Docker de manera manual, ejecuta el siguiente comando, que mapea el puerto 5000 de la máquina virtual al puerto del contenedor. Asegúrate de cambiar los nombres y versiones según tu configuración:

    docker run -d -p 5000:5000 --name mi-app-flask fcongedo/app-flask:1 
  3. Crear la Imagen de Docker con Docker Compose: Dirígete al directorio /desafio-flask/Docker-compose en la máquina virtual y ejecuta el siguiente comando para crear la imagen utilizando Docker Compose

    docker compose up -d
  4. Verificar su funcionamiento: utilizando un tunel de vagrant o desde curl localhost:5000

    vagrant ssh -- -L 5000:localhost:5000

Paso 2: Kubernetes

  1. Iniciar Minikube: Ejecuta el siguiente comando para iniciar minikube:

    minikube start

Para este paso es tan simple como verificar estar conectados a nuestro cluster de kubernetes (poder ejecutar un kubectl get pods -A sin errores) y asi crear nuestros recursos dentro del directorio Kubernetes con el siguiente comando (asegurarse de estar dentro del directorio desafio-flask):

  1. Crear Recursos en Kubernetes: Asegúrate de estar dentro del directorio desafio-flask y ejecuta:

    kubectl apply -f Kubernetes/ns.yaml
    kubectl apply -f Kubernetes/deployment.yaml
  2. Exponer la Aplicación: Utiliza port-forward para exponer la aplicación:

    kubectl port-forward deployment/app-flask 8080:5000 -n prueba-flask
  3. Verificar su funcionamiento: utilizando un tunel de vagrant o desde curl localhost:5000 (el tunel recordar hacerlo desde otra terminal de vagrant)

    vagrant ssh -- -L 5000:localhost:8080

Readme de la aplicacion:

Issues Forks Stars Size Contributors


🗺 Routes 🗺 🚧 Usage 🚧
/api For API.
/file For streaming files.
/dl For downloading a file.
/<name> Says Hello! 🤚
/code For redirection.
/cookies/set For setting cookies.
/cookies/get For retrieving cookies.
/cookies/del For deleting cookies.
/headers For working with Headers.
/ip For location based user interface.
/q For getting the parameters passed with URL.

How to use this ?

  • Don't be scared 😬 by watching a ton files, Most are just to configure the deploy settings. 🏋️‍♂️
  • Star this repository. ⭐️
  • Make a new repository by clicking here. 👲
  • Go to modules folder. 📂
  • Add or modify the plugins. ✏️
  • Crawl any hosting provider. 🕷
  • Link your (Newly generated 🍽) repository with it. 🔗
  • Deploy it there or replace your username here and deploy using buttons. 🚀
  • And done. ✅

OR

  • Just deploy this repository for testing. 🧪

Deployments

Heroku.com 🚀

Deploy

Replit.com 🌀

Run on Repl.it

Zeet.co 💪

Deploy

Adding some other hosting providers too 🤧 soon.

prueba


Support ground. ⛹️‍♂️🤝
  • Channel
  • Support
Donate. 💰💷

ko-fi paypal

License

Flask-Example is licensed under IDC v1 or later.

idc

This LICENSE is widely used when the owner of the content does not care what you do from the source. No one can appeal copyright or DMCA takedown notices. The end user is free to do anything from the content. Nor the owners or distributors are affiliated with any crime done by the content of the LICENSE.

About

Challenge-Leafnoise (Vagrant-Docker-Kubernetes)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published