Probar tu despliegue de Bun
Requisitos previos
- Completa todas las secciones anteriores de esta guía, empezando por Containerizar una aplicación Bun.
- Activa Kubernetes en Docker Desktop.
Descripción general
En esta sección aprenderás a usar Docker Desktop para desplegar tu aplicación en un entorno Kubernetes completo en tu máquina de desarrollo. Esto te permite probar y depurar tus cargas de trabajo en Kubernetes en local antes de desplegar.
Crear un archivo YAML de Kubernetes
En tu directorio bun-docker, crea un archivo llamado
docker-kubernetes.yml. Ábrelo en un IDE o editor de texto y añade
el siguiente contenido. Sustituye DOCKER_USERNAME/REPO_NAME por tu nombre de usuario de Docker
y el nombre del repositorio que creaste en Configurar CI/CD para
tu aplicación Bun.
apiVersion: apps/v1
kind: Deployment
metadata:
name: docker-bun-demo
namespace: default
spec:
replicas: 1
selector:
matchLabels:
app: bun-api
template:
metadata:
labels:
app: bun-api
spec:
containers:
- name: bun-api
image: DOCKER_USERNAME/REPO_NAME
imagePullPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
name: service-entrypoint
namespace: default
spec:
type: NodePort
selector:
app: bun-api
ports:
- port: 3000
targetPort: 3000
nodePort: 30001En este archivo YAML de Kubernetes hay dos objetos, separados por ---:
- Un Deployment que describe un grupo escalable de pods idénticos. En este caso
tendrás una réplica, una copia de tu pod. Ese pod, descrito bajo
template, tiene un solo contenedor. El contenedor se crea a partir de la imagen compilada por GitHub Actions en Configurar CI/CD para tu aplicación Bun. - Un service NodePort que enruta el tráfico del puerto 30001 del host al puerto 3000 dentro de los pods, permitiéndote acceder a la aplicación desde la red.
Para más información sobre objetos de Kubernetes, consulta la documentación de Kubernetes.
Desplegar y comprobar tu aplicación
En una terminal, ve a
bun-dockery despliega tu aplicación en Kubernetes.$ kubectl apply -f docker-kubernetes.ymlDeberías ver una salida similar a la siguiente, indicando que los objetos de Kubernetes se crearon correctamente.
deployment.apps/docker-bun-demo created service/service-entrypoint createdComprueba que todo funcionó listando tus deployments.
$ kubectl get deploymentsTu deployment debería aparecer así:
NAME READY UP-TO-DATE AVAILABLE AGE docker-bun-demo 1/1 1 1 10sEsto indica que el pod que pediste en el YAML está en ejecución. Haz la misma comprobación para tus services.
$ kubectl get servicesDeberías obtener una salida como la siguiente.
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 88m service-entrypoint NodePort 10.105.145.223 <none> 3000:30001/TCP 83sAdemás del service
kubernetespor defecto, puedes ver tu serviceservice-entrypoint, que acepta tráfico en el puerto 30001/TCP.En un navegador, visita la siguiente dirección. Deberías ver el mensaje
{"Status" : "OK"}.http://localhost:30001/Ejecuta el siguiente comando para eliminar tu aplicación.
$ kubectl delete -f docker-kubernetes.yml
Resumen
En esta sección aprendiste a usar Docker Desktop para desplegar tu aplicación Bun en un entorno Kubernetes completo en tu máquina de desarrollo.
Información relacionada: