Pular para o conteúdo principal

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