Lab 12.1 - Configuração de Gerenciamento de Recursos
Objetivos do Lab
Ao final deste lab, você será capaz de:
- Compreender Requests e Limits.
- Configurar recursos de CPU e memória.
- Entender as classes QoS (Quality of Service).
- Configurar Resource Quotas e Limit Ranges.
Duração Estimada
45-60 minutos
Pré-requisitos
- kubectl instalado e configurado.
- Cluster Kubernetes local funcional.
Parte 1: Configuração de Requests e Limits
Etapa 1.1: Criar um Pod com Resources
Crie pod-with-resources.yaml:
apiVersion: v1
kind: Pod
metadata:
name: resource-pod
spec:
containers:
- name: app
image: nginx:1.20
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 256Mi
Aplique:
kubectl apply -f pod-with-resources.yaml
Verifique:
kubectl describe pod resource-pod
Parte 2: Classes QoS
Etapa 2.1: Entendendo as Classes
Os Pods são classificados em:
- Guaranteed: Requests = Limits para CPU e memória.
- Burstable: Pelo menos um recurso com Request < Limit.
- BestEffort: Nenhum Request nem Limit.
Teste diferentes cenários.
Parte 3: Resource Quotas
Etapa 3.1: Criar um Resource Quota
Crie resource-quota.yaml:
apiVersion: v1
kind: ResourceQuota
metadata:
name: compute-quota
namespace: default
spec:
hard:
requests.cpu: "2"
requests.memory: 4Gi
limits.cpu: "4"
limits.memory: 8Gi
pods: "10"
Aplique:
kubectl apply -f resource-quota.yaml
Parte 4: Limit Ranges
Etapa 4.1: Criar um Limit Range
Crie limit-range.yaml:
apiVersion: v1
kind: LimitRange
metadata:
name: mem-limit-range
namespace: default
spec:
limits:
- default:
memory: 512Mi
cpu: 500m
defaultRequest:
memory: 256Mi
cpu: 100m
type: Container
Resumo do Lab
Neste lab, você configurou o gerenciamento de recursos com Requests, Limits, Resource Quotas e Limit Ranges.
Próximos Passos
O próximo lab mostrará como configurar o autoscaling horizontal e vertical.
Lab 12.2: Autoscaling Horizontal e Vertical
Lab criado em: Dezembro 2024