Pular para o conteúdo principal

Questão de Sistemas Operacionais — Contêineres (Docker, Kubernetes, etc.) — CESPE / CEBRASPE 2024

Sistemas OperacionaisContêineres (Docker, Kubernetes, etc.)
Código
ce404157
Banca
CESPE / CEBRASPE
Órgão
TC DF
Ano
2024
Cargo
ACE ( )

Julgue o próximo item, relativos a DevOps e Kubernetes.

 

No ingress, os caminhos que não incluem um pathType explícito falharão na validação.

  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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 Ingress: pathType obrigatório

Gabarito: letra C (CERTO). No Kubernetes, o campo pathType é obrigatório em cada regra de caminho do Ingress; se um caminho não o incluir, o recurso falha na validação do API server. Essa exigência está documentada na especificação oficial da API Kubernetes (campo pathType do HTTPIngressPath).

O Ingress é o recurso do Kubernetes que expõe serviços HTTP/HTTPS para fora do cluster, funcionando como um roteador de tráfego: ele recebe as requisições externas e as encaminha para os serviços internos com base em regras de host e de caminho. Cada regra de caminho é definida por um objeto HTTPIngressPath, que contém três campos principais: path (o caminho da URL, como /api), backend (o serviço de destino) e pathType (o tipo de correspondência do caminho).

O pathType define como o caminho especificado deve ser comparado com o caminho da requisição. Existem três valores possíveis: Exact (correspondência exata), Prefix (correspondência por prefixo, baseada em segmentos) e ImplementationSpecific (comportamento definido pela implementação do controlador Ingress). A especificação da API Kubernetes determina que pathType é um campo obrigatório — sem ele, o objeto Ingress é considerado inválido e a validação falha, impedindo a criação ou atualização do recurso.

Na prática, ao aplicar um manifesto YAML com um Ingress que omita o pathType, o API server rejeita a requisição com uma mensagem de erro indicando que o campo é obrigatório. Isso garante que o comportamento de roteamento seja explícito e previsível, evitando ambiguidades entre diferentes controladores Ingress. A obrigatoriedade do pathType foi introduzida na versão 1.18 do Kubernetes, quando o campo se tornou obrigatório e os valores Exact e Prefix foram adicionados.

A pegadinha desta questão está em inverter a lógica: o candidato pode pensar que o pathType é opcional ou que a ausência dele apenas gera um aviso, mas na verdade a validação falha. A banca explora exatamente essa confusão entre "campo opcional" e "campo obrigatório com valor padrão".

1Função
Expõe serviços HTTP/HTTPS
Roteia tráfego externo
2HTTPIngressPath
path
backend
pathType (obrigatório)
3pathType
Exact
Prefix
ImplementationSpecific
4Validação
Sem pathType → falha
Ingress (Kubernetes)
LEVELsoulevel.com.br
Ingress (Kubernetes): Função (Expõe serviços HTTP/HTTPS, Roteia tráfego externo); HTTPIngressPath (path, backend, pathType (obrigatório)); pathType (Exact, Prefix, ImplementationSpecific); Validação (Sem pathType → falha)

Alternativa C — ✅ Correta ⟵ GABARITO

A afirmação está correta. O pathType é um campo obrigatório no HTTPIngressPath do Ingress. A especificação da API Kubernetes define que cada caminho deve incluir o pathType, e a ausência dele faz com que o recurso seja rejeitado na validação. Isso é uma exigência explícita da API, não uma recomendação opcional.

Alternativa E — ❌ Incorreta

A afirmação está incorreta porque inverte a regra. O pathType é obrigatório, e não opcional. Se um caminho não o incluir, o Ingress falha na validação, exatamente como a alternativa C afirma. A banca tenta confundir o candidato ao sugerir que a ausência do campo seria aceita, o que contraria a especificação.

Gabarito: letra C

Link permanente: /questoes/ce404157