0Pricing
DevOps Bootcamp · Aula

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: 16Gi

Cotas 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   8Gi

O 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: 1Gi

Como 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 4

Dicas 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

  1. Diagnóstico de problemas comuns
  2. Depuração de pods e serviços
  3. Boas práticas e dicas para produção
  4. Cotas de Recursos e Limites de Recursos
← Voltar para DevOps Bootcamp