Kubernetes se ha convertido en la plataforma estándar para la orquestación de contenedores. Permite gestionar aplicaciones en contenedores de manera automática, escalable y eficiente. En esta guía, aprenderás cómo desplegar tu primer Pod en un cluster de Kubernetes, cubriendo desde la instalación hasta la verificación del despliegue.
1. ¿Qué es Kubernetes?
Kubernetes es un sistema de código abierto para la automatización de la implementación, el escalado y la gestión de aplicaciones en contenedores. Fue desarrollado por Google y donado a la Cloud Native Computing Foundation (CNCF). Sus componentes principales incluyen:
- Pod: La unidad más pequeña y simple en Kubernetes, que puede contener uno o varios contenedores.
- Node: Un servidor físico o virtual que ejecuta pods.
- Cluster: Un conjunto de nodes gestionados por Kubernetes.
2. Preparativos para el Despliegue
Antes de empezar, necesitas un cluster de Kubernetes. Puedes usar Minikube para crear un cluster local o un servicio gestionado como Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) o Azure Kubernetes Service (AKS). En esta guía, usaremos Minikube.
Instalación de Minikube
- Instalar Minikube: Sigue las instrucciones específicas para tu sistema operativo desde Minikube.
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
- Iniciar Minikube:
minikube start
Este comando inicia un cluster local de Kubernetes en una máquina virtual.
- Verificar la instalación:
kubectl get nodes
La salida debe mostrar un node en estado Ready
.
3. Desplegando tu Primer Pod
Un Pod es la unidad de despliegue básica en Kubernetes. Vamos a crear un Pod que ejecute una instancia de Nginx.
Crear un Archivo de Configuración YAML
Crea un archivo llamado nginx-pod.yaml
con el siguiente contenido:
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:latest
ports:
- containerPort: 80
Este archivo define un Pod llamado nginx-pod
que ejecuta el contenedor Nginx en el puerto 80.
Aplicar el Archivo de Configuración
Usa kubectl
para crear el Pod a partir del archivo YAML:
kubectl apply -f nginx-pod.yaml
Este comando crea el Pod en el cluster de Kubernetes.
4. Verificar el Despliegue
Para asegurarte de que el Pod se ha creado correctamente, usa:
kubectl get pods
Deberías ver nginx-pod
con el estado Running
.
5. Acceder al Pod
Para acceder al Nginx que se está ejecutando en el Pod, necesitas exponer el Pod. Esto se puede hacer mediante el comando kubectl port-forward
:
kubectl port-forward nginx-pod 8080:80
Ahora, puedes abrir tu navegador y visitar http://localhost:8080
para ver la página de bienvenida de Nginx.
6. Limpieza
Para eliminar el Pod, usa:
kubectl delete pod nginx-pod
Este comando eliminará el Pod del cluster.
7. Conclusión
Desplegar un Pod en Kubernetes es el primer paso para aprovechar las capacidades avanzadas de esta plataforma de orquestación. Ahora que has desplegado y accedido a tu primer Pod, puedes explorar características más avanzadas como despliegues, servicios y configuración de volúmenes persistentes.