Saltar al contenido principal

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