manuales_desarrollo

Manuales de desarrollo de YeboYebo


Project maintained by yeboyebo Hosted on GitHub Pages — Theme by mattgraham

Despliegue en Kubernetes

Prerrequisitos

Para administrar las aplicaciones y servicios de Kubernetes, es necesario tener instalado kubectl y muy recomendable la aplicación Lens que facilita algunas tareas de forma gráfica.

Pasos para una nueva instalación de Eneboo + Pinebooapi

Crear la BD en Kubernetes

Una vez tenemos el dump con la base de datos preparado:

NOTA: Esto a veces no funciona según la instalación. Pedir a Iván que lo haga él si no nos funciona.

Apuntar la API a Kubernetes

Desde la administración de subdominios, apuntar el subdominio indicado en las claves host y subdomain a la IP pública de Kubernetes. Podemos verla con Lens > Network > Ingresses (columna load balancers)

Crear la aplicación

Preparamos un fichero yaml de aplicación. La plantilla está en:

codebase/despliegue/plantilla_deploy.yaml

copiamos la plantilla con [nombre_app]_deploy.yaml (este es el fichero que se usará una unica vez para hacer la instalación)

Sustituimos [nombre_app] por el nombre de la aplicación a crear, teniendo en cuenta:

Desde Lens, abrimos una consola En la carpeta con el fichero yaml: kubectl apply -f kubernetes_deploy.yaml

Debemos obtener:

service/yeboyebo created
ingress.networking.k8s.io/ingress-yeboyebo created
certificate.cert-manager.io/yeboyebo-ssl-secret created

Crear la rama y la Github Action

Ver punto similar en despliegue_automatico

Comprobar el despliegue en github

Una vez configurado, el despliegue se lanza automáticamente al hacer un push a la rama [Aplicacion]_Produccion.

Podemos ver si el despliegue está en curso, hecho o con error en la web de Github > Proyecto Codebase > Actions

Ver el log de pinebooapi en Kubernetes

Lens > Pods > (pod que queremos consultar) > botón (…) > log

Modificar el fichero de environment (env) en Kubernetes

Editamos el deployment (lápiz) y lo editamos allí.

Más información sobre Kubernetes

Kubernetes es una infraestructura que nos permite el despliegue completo de aplicaciones WEB.

Más