Lab 12.2 - Autoscaling Horizontal y Vertical
Objetivos del Lab
Al final de este laboratorio, usted será capaz de:
- Configurar un Horizontal Pod Autoscaler (HPA).
- Comprender el funcionamiento del HPA.
- Probar el autoscaling basado en métricas.
- Comprender el Vertical Pod Autoscaler (VPA).
Duración Estimada
60-75 minutos
Requisitos Previos
- kubectl instalado y configurado.
- Cluster de Kubernetes con metrics-server.
- Conocimientos sobre Deployments.
Parte 1: Instalación de metrics-server
Paso 1.1: Instalar metrics-server
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Verifique:
kubectl get deployment metrics-server -n kube-system
Parte 2: Creación de un HPA
Paso 2.1: Crear un Deployment
Cree deployment-hpa.yaml:
apiVersion: apps/v1
kind: Deployment
metadata:
name: hpa-app
spec:
replicas: 2
selector:
matchLabels:
app: hpa-app
template:
metadata:
labels:
app: hpa-app
spec:
containers:
- name: app
image: nginx:1.20
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
Aplique:
kubectl apply -f deployment-hpa.yaml
Paso 2.2: Crear un HPA
Cree hpa.yaml:
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: hpa-app
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: hpa-app
minReplicas: 2
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 50
Aplique:
kubectl apply -f hpa.yaml
Parte 3: Prueba del Autoscaling
Paso 3.1: Generar Carga
Cree un Pod para generar carga:
kubectl run -i --tty load-generator --rm --image=busybox --restart=Never -- /bin/sh -c "while true; do wget -q -O- http://hpa-app-service; done"
Paso 3.2: Observar el Autoscaling
Monitoree el HPA:
kubectl get hpa hpa-app -w
Monitoree los Pods:
kubectl get pods -l app=hpa-app -w
Parte 4: VPA (Introducción)
El VPA ajusta automáticamente los Requests y Limits. La instalación es más compleja y requiere un operador.
Resumen del Lab
En este laboratorio, usted ha configurado el autoscaling horizontal con HPA. Ha probado el autoscaling basado en el uso de CPU.
Próximos Pasos
El próximo laboratorio le mostrará cómo implementar GitOps con ArgoCD.
Lab 12.3: GitOps con ArgoCD
Lab creado el: Diciembre 2024