Saltar al contenido principal

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