Compartir comentarios
Las respuestas se generan en base a la documentación.

Probar tu despliegue de Bun

Requisitos previos

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: 30001

En 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

  1. En una terminal, ve a bun-docker y despliega tu aplicación en Kubernetes.

    $ kubectl apply -f docker-kubernetes.yml
    

    Deberí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 created
  2. Comprueba que todo funcionó listando tus deployments.

    $ kubectl get deployments
    

    Tu deployment debería aparecer así:

    NAME                 READY   UP-TO-DATE   AVAILABLE    AGE
    docker-bun-demo       1/1     1            1           10s

    Esto indica que el pod que pediste en el YAML está en ejecución. Haz la misma comprobación para tus services.

    $ kubectl get services
    

    Deberí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   83s

    Además del service kubernetes por defecto, puedes ver tu service service-entrypoint, que acepta tráfico en el puerto 30001/TCP.

  3. En un navegador, visita la siguiente dirección. Deberías ver el mensaje {"Status" : "OK"}.

    http://localhost:30001/
    
  4. 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: