Cotas de Recursos e Limites de Recursos
Evite problemas causados por vizinhos ruidosos e cargas de trabalho descontroladas aplicando ResourceQuotas no nível do namespace e LimitRanges por Pod.
Cotas de Recursos e Limites de Recursos é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.
Proteções para clusters compartilhados
Em um cluster compartilhado, uma equipe pode consumir tudo acidentalmente. ResourceQuotas e LimitRanges são proteções que mantêm os espaços de nomes equilibrados e evitam interrupções.
O que é uma ResourceQuota
Uma ResourceQuota limita o total de recursos que um espaço de nomes pode consumir: CPU, memória e quantidades de objetos, como Pods ou Services.
Uma cota de computação
Essa cota limita o total de solicitações e limites em todos os Pods do espaço de nomes.
apiVersion: v1
kind: ResourceQuota
metadata:
name: team-compute
namespace: team-a
spec:
hard:
requests.cpu: '4'
requests.memory: 8Gi
limits.cpu: '8'
limits.memory: 16GiCotas de quantidade de objetos
As cotas também podem limitar quantos objetos de cada tipo existem, evitando uma proliferação acidental.
spec:
hard:
pods: '20'
services: '5'
persistentvolumeclaims: '10'A regra de aplicação da cota
Quando uma ResourceQuota de computação é definida, todo Pod deve declarar solicitações e limites; caso contrário, ele será rejeitado. A cota não pode contabilizar Pods sem limites.
Verificando o uso da cota
Inspecione quanto de uma cota está sendo consumido a qualquer momento.
kubectl describe resourcequota team-compute -n team-a
# Resource Used Hard
# requests.cpu 2 4
# requests.memory 3Gi 8GiO que é uma LimitRange?
Uma LimitRange aplica valores padrão e limites por objeto dentro de um espaço de nomes, de modo que Pods individuais sejam restringidos mesmo quando um desenvolvedor se esquece de definir os valores.
Valores padrão e limites
Uma LimitRange pode inserir solicitações e limites padrão e impor valores mínimos e máximos por contêiner.
apiVersion: v1
kind: LimitRange
metadata:
name: container-limits
namespace: team-a
spec:
limits:
- type: Container
default:
cpu: 500m
memory: 256Mi
defaultRequest:
cpu: 250m
memory: 128Mi
max:
cpu: '2'
memory: 1GiComo elas funcionam em conjunto
A LimitRange preenche os valores padrão de cada contêiner; depois, a ResourceQuota soma tudo e compara com o limite do espaço de nomes. Juntas, elas garantem tanto um dimensionamento adequado por Pod quanto um total justo para o espaço de nomes.
Solucionando rejeições
Se um Pod for rejeitado, o erro indicará a política responsável. Leia-o com atenção: ele informa se você excedeu a cota ou violou um limite da LimitRange.
# exceeded quota: team-compute, requested: requests.cpu=2, used: 3, limited: 4
# maximum cpu usage per Container is 2, but limit is 4Dicas para produção
- Defina uma LimitRange para que solicitações esquecidas não interrompam a cota
- Dimensione as cotas com base no uso real, mantendo margem para picos
- Revise o uso regularmente e ajuste-o conforme as equipes crescem
Verificação rápida
Teste sua compreensão das proteções do espaço de nomes.
Recapitulação
Você aprendeu a garantir equidade com ResourceQuotas (limites de computação e de quantidade de objetos em todo o espaço de nomes) e LimitRanges (valores padrão e limites por contêiner). Usadas em conjunto, elas evitam problemas de vizinhos barulhentos e mantêm estáveis os clusters compartilhados, uma prática essencial em produção.
Perguntas Frequentes
A aula “Cotas de Recursos e Limites de Recursos” é grátis?
Sim — o texto completo de “Cotas de Recursos e Limites de Recursos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.
O que vou aprender em “Cotas de Recursos e Limites de Recursos”?
Evite problemas causados por vizinhos ruidosos e cargas de trabalho descontroladas aplicando ResourceQuotas no nível do namespace e LimitRanges por Pod. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar DevOps Bootcamp?
Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Cotas de Recursos e Limites de Recursos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de DevOps Bootcamp?
Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Diagnóstico de problemas comuns
- Depuração de pods e serviços
- Boas práticas e dicas para produção
- Cotas de Recursos e Limites de Recursos