Pular para o conteúdo principal

Questão de Engenharia de Software — Desenvolvimento de Software — CESPE / CEBRASPE 2025

Engenharia de SoftwareDesenvolvimento de Software
Código
ce215086
Banca
CESPE / CEBRASPE
Órgão
STM
Ano
2025
Nível
Superior
Cargo
Analista Judiciário - Área: Apoio Especializado - Especialidade: Análise de Sistemas
Considere que o seguinte arquivo YAML tenha sido utilizado para criar um deployment no Kubernetes: 

Imagem da questão

A partir das informações da situação hipotética precedente, julgue o item a seguir. 
No código em questão, o campo replicas: 2 no bloco spec indica que dois contêineres serão executados dentro de um único pod de nome nginx, que será ouvido na porta 80.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Kubernetes: replicas e pods

Gabarito: Errado (E). O campo replicas: 2 no bloco spec de um Deployment não indica que dois contêineres serão executados dentro de um único pod; ele define que o Deployment deve manter dois pods (réplicas) em execução, cada um contendo uma instância do contêiner definido no template. A porta 80, por sua vez, é a porta exposta pelo contêiner, não pelo pod.

O Kubernetes é uma plataforma de orquestração de contêineres. Para entender o erro da afirmativa, é preciso dominar a hierarquia dos objetos que ele gerencia. O Deployment é um controlador que declara o estado desejado da aplicação: quantas réplicas (cópias) de um pod devem estar rodando, qual imagem de contêiner usar, qual porta expor, entre outras configurações. O Pod é a menor unidade de execução no Kubernetes — ele encapsula um ou mais contêineres que compartilham o mesmo namespace de rede e armazenamento. O campo replicas pertence ao Deployment e especifica o número de pods que devem ser criados e mantidos, não o número de contêineres dentro de um único pod.

Na prática, quando você define replicas: 2 em um Deployment, o controlador cria dois pods idênticos, cada um rodando o contêiner especificado no template. Se o template define um contêiner que escuta na porta 80, cada pod terá um contêiner expondo essa porta. A afirmativa confunde o nível de abstração: ela trata replicas como se fosse uma configuração interna do pod, quando na verdade é uma configuração do Deployment que controla a quantidade de pods.

A distinção crucial é entre réplicas de pods e contêineres dentro de um pod. Um pod pode conter múltiplos contêineres (padrão sidecar), mas isso é definido no template.spec.containers, não no campo replicas. O campo replicas é um atributo do Deployment que determina quantos pods serão criados a partir do template. A banca explora exatamente essa confusão: o candidato que não domina a hierarquia Deployment → Pod → Contêiner tende a associar replicas a contêineres, quando o correto é associá-lo a pods.

Guarde a hierarquia: Deployment (controlador) → ReplicaSet (gerencia pods) → Pod (unidade mínima) → Contêiner (processo). O campo replicas atua no nível do Deployment, definindo quantos pods o ReplicaSet deve manter. É nessa fronteira que a afirmativa erra.

Kubernetes: hierarquia
  • 1Deployment (controlador)
    • Campo replicas
      • Nº de pods (réplicas)
      • Não é nº de contêineres
  • 2ReplicaSet
    • Gerencia pods
  • 3Pod
    • Unidade mínima
    • Pode ter 1+ contêineres
  • 4Contêiner
    • Processo
    • Porta 80 (containerPort)
LEVEL · soulevel.com.br

Item — ❌ Errado

A afirmativa comete dois erros conceituais. Primeiro, replicas: 2 não significa "dois contêineres dentro de um único pod", mas sim dois pods (réplicas) gerenciados pelo Deployment. Segundo, a porta 80 é a porta do contêiner (definida no containerPort), não uma propriedade do pod em si. O pod herda a porta do contêiner que o compõe, mas a afirmativa atribui a porta ao pod de forma imprecisa. O correto seria: replicas: 2 indica que o Deployment manterá dois pods, cada um executando o contêiner definido no template, que escuta na porta 80.

PEGA ESSA DICA!

Para não errar em questões de Kubernetes, memorize a hierarquia: Deployment controla ReplicaSets, que gerenciam Pods, que encapsulam Contêineres. O campo replicas sempre se refere ao número de pods, nunca ao número de contêineres dentro de um pod. Se a questão falar em "dois contêineres no mesmo pod", ela está se referindo ao template.spec.containers, não ao replicas.

Gabarito: Errado (E).

Link permanente: /questoes/ce215086