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

Probar tu despliegue de PHP

Requisitos previos

Descripción general

En esta sección, aprenderás cómo usar Docker Desktop para desplegar tu aplicación en un entorno de Kubernetes completo en tu máquina de desarrollo. Esto te permite probar y depurar tus cargas de trabajo en Kubernetes localmente antes de desplegarlas.

Crear un archivo YAML de Kubernetes

En tu directorio docker-php-sample, crea un archivo llamado docker-php-kubernetes.yaml. Abre el archivo en un IDE o editor de texto y agrega el siguiente contenido. Reemplaza DOCKER_USERNAME/REPO_NAME con tu nombre de usuario de Docker y el nombre del repositorio que creaste en Configurar CI/CD para tu aplicación PHP.

apiVersion: apps/v1
kind: Deployment
metadata:
  name: docker-php-demo
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      hello-php: web
  template:
    metadata:
      labels:
        hello-php: web
    spec:
      containers:
        - name: hello-site
          image: DOCKER_USERNAME/REPO_NAME
          imagePullPolicy: Always
---
apiVersion: v1
kind: Service
metadata:
  name: php-entrypoint
  namespace: default
spec:
  type: NodePort
  selector:
    hello-php: web
  ports:
    - port: 80
      targetPort: 80
      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, obtendrás solo una réplica o copia de tu pod. Ese pod, que se describe en template, tiene un solo contenedor. El contenedor se crea a partir de la imagen construida por GitHub Actions en Configurar CI/CD para tu aplicación PHP.
  • Un servicio NodePort, que enrutará el tráfico desde el puerto 30001 de tu host al puerto 80 dentro de los pods a los que se dirige, permitiéndote acceder a tu aplicación desde la red.

Para obtener más información sobre los objetos de Kubernetes, consulta la documentación de Kubernetes.

Desplegar y comprobar tu aplicación

  1. En una terminal, navega al directorio docker-php-sample y despliega tu aplicación en Kubernetes.

    $ kubectl apply -f docker-php-kubernetes.yaml
    

    Deberías ver una salida similar a la siguiente, que indica que tus objetos de Kubernetes se crearon correctamente.

    deployment.apps/docker-php-demo created
    service/php-entrypoint created
  2. Asegúrate de que todo funcionó enumerando tus despliegues.

    $ kubectl get deployments
    

    Tu despliegue debería aparecer de la siguiente manera:

    NAME                 READY   UP-TO-DATE   AVAILABLE   AGE
    docker-php-demo      1/1     1            1           6s

    Esto indica que todos los pods están en funcionamiento. Realiza la misma comprobación para tus servicios.

    $ 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          7d22h
    php-entrypoint    NodePort    10.111.101.229   <none>        80:30001/TCP     33s

    Además del servicio kubernetes predeterminado, puedes ver tu servicio php-entrypoint. El servicio php-entrypoint está aceptando tráfico en el puerto 30001/TCP.

  3. Abre un navegador y visita tu aplicación en http://localhost:30001/hello.php. Deberías ver tu aplicación.

  4. Ejecuta el siguiente comando para eliminar tu aplicación.

    $ kubectl delete -f docker-php-kubernetes.yaml
    

Resumen

En esta sección, aprendiste cómo usar Docker Desktop para desplegar tu aplicación en un entorno de Kubernetes completo en tu máquina de desarrollo.

Información relacionada: