Pular para o conteúdo principal

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

Sistemas OperacionaisContêineres (Docker, Kubernetes, etc.)
Código
ce418297
Banca
CESPE / CEBRASPE
Órgão
STM
Ano
2025
Cargo
AJ ( )

Considere que o seguinte arquivo YAML tenha sido utilizado para criar um deployment no Kubernetes:

 

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 2
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
      image: nginx:1.14.2
      ports:
      - containerPort: 80

 

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: Deployment, Replicas e Pods

Gabarito: letra E (ERRADO). 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 em execução, cada um contendo o contêiner nginx definido no template. A porta 80 é a porta do contêiner, não do pod em si. Essa é a distinção fundamental entre os conceitos de pod, contêiner e réplica no Kubernetes.

O Kubernetes é um sistema de orquestração de contêineres que automatiza a implantação, o dimensionamento e a gestão de aplicações. Para entender o erro da afirmação, é preciso dominar a hierarquia dos objetos no Kubernetes. O pod é a unidade de trabalho básica e representa um ou mais contêineres que compartilham o mesmo espaço de rede e armazenamento. O Deployment é um objeto de nível superior que gerencia um conjunto de pods, garantindo que o número desejado de réplicas esteja sempre em execução. O campo replicas especifica exatamente quantas réplicas do pod (não do contêiner) o Deployment deve manter.

No YAML fornecido, o bloco template define o modelo do pod que será criado. Dentro dele, o campo containers lista os contêineres que farão parte de cada pod. Neste caso, há apenas um contêiner (nginx) com a imagem nginx:1.14.2 e a porta 80 exposta. Portanto, o Deployment criará dois pods, cada um com um contêiner nginx. A afirmação inverte essa relação: ela diz que dois contêineres estarão em um único pod, quando na verdade o correto é que dois pods (réplicas) serão criados, cada um com um contêiner.

A porta 80 no campo containerPort indica a porta na qual o contêiner nginx escuta as requisições. Ela não é a porta do pod em si, embora o pod herde essa porta para fins de comunicação. O pod é uma abstração que agrupa contêineres; a porta é uma propriedade do contêiner. Essa distinção é crucial para entender o erro da afirmação.

A pegadinha da banca está em confundir os conceitos de réplica e contêiner. O candidato que não domina a hierarquia de objetos do Kubernetes pode interpretar replicas: 2 como o número de contêineres dentro de um pod, mas o correto é que ele representa o número de pods que o Deployment deve gerenciar. Essa confusão é comum e explorada em provas de TI.

Para fixar o conceito, observe a estrutura hierárquica:

O Deployment cria um ReplicaSet, que por sua vez cria os pods. Cada pod contém o contêiner definido no template. O campo replicas controla quantos pods o ReplicaSet deve manter.

Item — ❌ ERRADO

A afirmação está errada porque inverte a relação entre réplicas e contêineres. O campo replicas: 2 indica que o Deployment deve manter dois pods em execução, não dois contêineres dentro de um único pod. Cada pod, conforme o template, conterá um contêiner nginx. A porta 80 é a porta do contêiner, não do pod. Portanto, a descrição correta seria: "o campo replicas: 2 indica que dois pods serão executados, cada um com um contêiner nginx ouvindo na porta 80".

Gabarito: letra E (ERRADO).

Link permanente: /questoes/ce418297