Defina os requests a partir do uso observado, normalmente perto da mediana para CPU e perto do pico para memória, porque os requests guiam o scheduling e a capacidade. Coloque o limit de memória perto do request, já que ultrapassá-lo faz o container ser morto, e seja cauteloso com limits de CPU porque eles causam throttling que aparece como latência inexplicada. Revise os números com dados reais em vez de copiá-los entre serviços.
Por que os entrevistadores perguntam isso
Esta é uma pergunta prática em que respostas erradas causam dor real em produção, e o entrevistador provavelmente tem cicatrizes. Ele quer que você saiba que CPU é compressível e memória não, que limits de CPU causam throttling em vez de uma lentidão graciosa, e que os requests determinam tanto o scheduling quanto o custo do cluster. Citar as classes de quality of service e como medir o uso mostra profundidade.
Como estruturar sua resposta
- Explique que requests guiam o scheduling e limits guiam a imposição.
- Separe CPU de memória porque elas se comportam de formas diferentes.
- Dê um método para chegar aos números a partir de dados reais.
- Cite throttling, kills por falta de memória e quality of service.
Exemplo de resposta
Requests são o que o scheduler usa para posicionar o pod e o que você efetivamente paga, e limits são o teto que o runtime impõe. Os dois recursos se comportam de forma completamente diferente. CPU é compressível, então bater no limit de CPU significa que o container é throttled, e isso aparece como picos de latência sem causa óbvia, o que é horrível de depurar. Memória não é compressível, então ultrapassar o limit de memória significa que o container é morto na hora. Isso leva aos meus padrões: definir o request de CPU pelo uso mediano observado com alguma folga, e eu normalmente sou cauteloso com limits de CPU em serviços sensíveis a latência, ou eu os defino com generosidade. Para memória eu coloco o request perto do pico realista e o limit perto dele, para um vazamento falhar rápido e de forma visível em vez de comer o nó em silêncio. Eu tiro os números de umas duas semanas de percentis de uso real, não de copiar de outro serviço, e reviso depois de testes de carga. O outro lado é que requests inflados são o principal motivo de clusters parecerem vazios e ainda assim não conseguirem agendar nada.
Vai encarar essa entrevista em breve? O GhostPilot escuta a sua chamada ao vivo, identifica a pergunta no instante em que ela é feita e coloca uma resposta estruturada na sua tela em tempo real. Teste na sua próxima entrevista simulada ou pegue um Session Pass de $29, sem assinatura, para a hora da verdade.
Veja como funcionaPerguntas de acompanhamento que você pode esperar
- O que acontece com um pod quando ele ultrapassa o limit de memória?
- Por que você deliberadamente omitiria um limit de CPU?
- Como as classes de quality of service afetam a ordem de despejo?
Mais perguntas para Engenheiro DevOps
Seu entrevistador vai fazer a própria versão desta. Cole a descrição real da vaga no Question Predictor gratuito e receba as 20 perguntas que essa vaga tem mais chance de fazer, com o que cada uma está de fato sondando.
Prever minhas perguntas