Probar tu despliegue de PHP
Requisitos previos
- Completa todas las secciones anteriores de esta guía, comenzando con Contenedorizar una aplicación PHP.
- Activa Kubernetes en Docker Desktop.
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: 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, 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
En una terminal, navega al directorio
docker-php-sampley despliega tu aplicación en Kubernetes.$ kubectl apply -f docker-php-kubernetes.yamlDeberí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 createdAsegúrate de que todo funcionó enumerando tus despliegues.
$ kubectl get deploymentsTu despliegue debería aparecer de la siguiente manera:
NAME READY UP-TO-DATE AVAILABLE AGE docker-php-demo 1/1 1 1 6sEsto indica que todos los pods están en funcionamiento. Realiza la misma comprobación para tus servicios.
$ 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 7d22h php-entrypoint NodePort 10.111.101.229 <none> 80:30001/TCP 33sAdemás del servicio
kubernetespredeterminado, puedes ver tu serviciophp-entrypoint. El serviciophp-entrypointestá aceptando tráfico en el puerto 30001/TCP.Abre un navegador y visita tu aplicación en http://localhost:30001/hello.php. Deberías ver tu aplicación.
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: