Documentos de Académico
Documentos de Profesional
Documentos de Cultura
md 11/16/2022
Requisitos Previos
Debemos tener las siguientes herramientas y aplicaciones:
Cuenta AWS
Nodejs
Docker Desktop
Kubectl
Cluster EKS
cd app
npm install
npm install -D
Ejecutando el proyecto
Ingresamos a la ruta: http://localhost:4000 en el navegador o desde postman con una petición del tipo GET.
1 / 10
README.md 11/16/2022
{
"status": true,
"msg": "Bienvenido al POC Superpos Kubernetes Docker Nodejs Api"
}
2 / 10
README.md 11/16/2022
Verificamos que estemos con sesión iniciada y anotamos el tag o username de docker hub
Creando la imagen
Ejecutamos el comando
Fijese que el tag de la imagen es gilgammesh/appnode, que contiene el tag anotado anteriormente, esto
deberá reemplazarlo por su tag personal de Docker hub
3 / 10
README.md 11/16/2022
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and
learn how to fix them
Ahora debemos subir nuestra imagen a Docker hub, con el siguiente comando:
4 / 10
README.md 11/16/2022
version: '3.8'
services:
server:
container_name: appnode
image: gilgammesh/appnode
build: ./app
ports:
- 4000:4000
restart: always
Verificamos que el nombre de la imagen coincida con nuestro tag de Docker hub. De ser así lo dejamos, caso
contrario lo reemplazamos con el nuestro.
Eliminamos la imagen creada anteriormente gilgammesh/appnode, ya que está volverá a ser creada.
5 / 10
README.md 11/16/2022
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and
learn how to fix them
Creating appnode ... done
Verificamos que el contenedor haya sido creado en Docker Desktop y esté en color verde Running, con la
imagen anterior creada. Anotamos el puerto.
6 / 10
README.md 11/16/2022
Para hacer el deploy en kubernetes, debemos comprender los archivos que componen la carpeta Deploy.
Estructura
deployment.yml => Archivo de construcción del POD de Kubernetes. Donde configuraremos el nombre del
cluster, las replicas para balanceo de carga, el nombre del contenedor de docker, el nombre de la imagen de
docker, el puerto de exposición de la imagen y más configuraciones. Para mayor información leer la
documentación: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/
service.yml => Archivo de configuración del servicio de Kubernetes. Donde configuraremos el tipo de
servicio "LoadBalancer", redireccionamos los puertos del lado de la red de kubernetes, referenciamos al
nombre del cluster y más configuraciones. Para mayor información leer la documentación:
https://kubernetes.io/docs/concepts/services-networking/service/
kustomization.yml => Archivo de despliegue de los recursos de Kubernetes. Donde referenciamos todos
los recursos que vamos a desplegar en el cluster de EKS de AWS. Para mayor información leer la
documentación: https://kubernetes.io/docs/tasks/manage-kubernetes-objects/kustomization/
7 / 10
README.md 11/16/2022
Despliegue en el Cluster
service/kubeappnode created
deployment.apps/kubeappnode created
8 / 10
README.md 11/16/2022
Ruta a6678c2b2078d4b7e901f6b4dc6fab27-208590083.us-west-
2.elb.amazonaws.com/superpos/email
Enviar en el cuerpo
{
"email": "carlos.santander@gmail.com",
"otp": "123456"
}
9 / 10
README.md 11/16/2022
{
"status": true,
"msg": "Se envió el otp: 123456 de autorización del comercio, al correo
carlos.santander@gmail.com"
}
Ruta a6678c2b2078d4b7e901f6b4dc6fab27-208590083.us-west-2.elb.amazonaws.com/superpos/sms
Enviar en el cuerpo
{
"phoneNumber": "943217411",
"otp": "123456"
}
{
"status": true,
"msg": "Se envió el otp: 123456 de autorización del comercio, por sms al número
943217411"
}
10 / 10