Taller Kubernetes: Trabajando con Pods
Introducción
Un Pod en kubernetes es un grupo de uno o más contenedores que comparten un espacio de red y espacio de almacenamiento. Los Pods son la unidad de despliegue en Kubernetes. Un Pod representa un proceso en ejecución en su clúster.
En este post vamos a crear un Pod en Kubernetes y para ello, vamos a desplegar una imagen que nos ofrece un servidor web con una página estática.
Desplegando un Pod
Creando un Pod
Lo primero que vamos a hacer, es crear un fichero yaml con la descripción del recurso Pod, teniendo en cuenta lo siguiente:
* Los pods deben tener distinto nombre que el del contenedor.
* La imagen que vamos a desplegar es `iesgn/test_web:latest`.
* Le asignaremos una etiqueta en la descripción del Pod.
Antes que nada nos vamos a descargar la imagen con un docker pull iesgn/test_web:latest
:

apiVersion: v1
kind: Pod
metadata:
name: pod-test-web
labels:
service: pod-taller1
spec:
containers:
- image: iesgn/test_web:latest
name: container-test-web
Una vez creado el fichero, vamos a crear el Pod en nuestro clúster de Kubernetes.
kubectl create -f test_web.yaml
Comprobando el estado del Pod
Para comprobar el estado del Pod, podemos ejecutar el siguiente comando:
kubectl get pod pod-test-web -o wide

Como podemos ver, el Pod se ha creado correctamente y está en estado Running
.
Obteniendo información del Pod
Para obtener información del Pod, podemos ejecutar el siguiente comando:
kubectl get pod pod-test-web -o wide

O con el siguiente comando:
kubectl describe pod pod-test-web

Accediendo al Pod
En esta ocasión, vamos a acceder de forma interactiva y comprobaremos los ficheros que están en el DocumentRoot
del servidor web.
kubectl exec -it pod-test-web -- /bin/bash
ls -la htdocs/

Creando una redirección
Vamos a crear una redirección con kubectl port-forward
para poder acceder al Pod desde el navegador. Utilizaremos el puerto 8888 del localhost y redirigiremos el puerto 80 del Pod.
kubectl port-forward test-web 8888:80

Ahora, podemos acceder al Pod desde el navegador con la siguiente URL: http://localhost:8888
.

Mostrando los logs del Pod
Para mostrar los logs del Pod, podemos ejecutar el siguiente comando:
kubectl logs test-web

De esta manera, podemos ver los logs del servidor web que hemos desplegado.
Eliminando el Pod
Para eliminar el Pod, podemos ejecutar el siguiente comando:
kubectl delete pod pod-test-web
kubectl get pod

Como podemos ver en la imagen anterior, el pod se ha eliminado correctamente.