Lab 4.4 - LoadBalancer e Integración Cloud
Objetivos del Lab
Al final de este laboratorio, usted será capaz de:
- Comprender el tipo de Service LoadBalancer.
- Configurar un Service LoadBalancer.
- Comprender la integración con los load balancers cloud.
- Probar el acceso externo a través de LoadBalancer.
Duración Estimada
30-45 minutos
Requisitos Previos
- kubectl instalado y configurado.
- Cluster Kubernetes local funcional (minikube o kind).
- Conocimientos sobre los Services (Capítulos 4.1 y 4.2).
Parte 1: Comprender LoadBalancer
Un Service de tipo LoadBalancer expone el Service al exterior del cluster utilizando un load balancer proporcionado por el proveedor cloud (AWS ELB, Azure Load Balancer, GCP Load Balancer).
En un cluster local (minikube/kind), el LoadBalancer se comporta como un NodePort, pero en producción cloud, provisiona automáticamente un load balancer externo.
Parte 2: Creación de un Service LoadBalancer
Paso 2.1: Desplegar una Aplicación
Cree un Deployment simple:
apiVersion: apps/v1
kind: Deployment
metadata:
name: web-app
spec:
replicas: 3
selector:
matchLabels:
app: web-app
template:
metadata:
labels:
app: web-app
spec:
containers:
- name: nginx
image: nginx:1.20
ports:
- containerPort: 80
Aplique:
kubectl apply -f deployment.yaml
Paso 2.2: Crear un Service LoadBalancer
Cree service-loadbalancer.yaml:
apiVersion: v1
kind: Service
metadata:
name: web-app-lb
spec:
type: LoadBalancer
selector:
app: web-app
ports:
- port: 80
targetPort: 80
protocol: TCP
Aplique:
kubectl apply -f service-loadbalancer.yaml
Parte 3: Verificación
Paso 3.1: Verificar el Service
kubectl get svc web-app-lb
En minikube, verá <pending> para el EXTERNAL-IP. Active el túnel:
minikube tunnel
En otra terminal, verifique nuevamente:
kubectl get svc web-app-lb
Debería ver una EXTERNAL-IP.
Paso 3.2: Probar el Acceso
Pruebe el acceso:
curl http://<EXTERNAL-IP>
Parte 4: Integración Cloud (Conceptual)
En un cluster cloud (AWS, Azure, GCP), el LoadBalancer se provisiona automáticamente:
- AWS: Elastic Load Balancer (ELB)
- Azure: Azure Load Balancer
- GCP: Google Cloud Load Balancer
El proveedor cloud gestiona automáticamente la creación y configuración del load balancer.
Parte 5: Limpieza
kubectl delete svc web-app-lb
kubectl delete deployment web-app
Resumen del Lab
En este laboratorio, usted ha creado un Service LoadBalancer y comprendido su funcionamiento. En un cluster cloud, este tipo de Service provisiona automáticamente un load balancer externo para exponer su aplicación.
Próximos Pasos
Este módulo sobre los Services y Networking está ahora completo. Puede continuar con el Módulo 5 sobre Configuración y Secrets.
Módulo 5: Configuración y Secrets
Lab creado el: Diciembre 2024