Pular para o conteúdo principal

Questão de Sistemas Operacionais — Geral — INSTITUTO AOCP 2024

Sistemas OperacionaisGeral
Código
qa632959
Banca
INSTITUTO AOCP
Órgão
MGI
Ano
2024
Cargo
Esp ( )
No Kubernetes, o recurso que permite a automação da implantação, dimensionamento e operações de gestão de aplicações conteinerizadas é o
  1. AKubectl.
  2. BHelm.
  3. CKubernetes Engine.
  4. DDeployments.
  5. EStatefulSets.
Revelar gabarito e comentário

GabaritoD — Deployments.

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: orquestração de contêineres

Gabarito: letra D. O recurso do Kubernetes que automatiza a implantação, o dimensionamento e as operações de gestão de aplicações conteinerizadas é o Deployments — um objeto declarativo que define o estado desejado da aplicação e delega ao controlador a tarefa de alcançá-lo e mantê-lo. Essa é a definição central do Kubernetes, que é, ele próprio, um sistema de orquestração de contêineres.

O Kubernetes (K8s) é um sistema de orquestração de contêineres open-source que automatiza a implantação, o dimensionamento e a gestão de aplicações em contêineres. Ele foi originalmente projetado pelo Google e agora é mantido pela Cloud Native Computing Foundation. A ideia central é que o usuário define o estado desejado do cluster, e o serviço de orquestração trabalha para atingir e manter esse estado, dentro das limitações impostas. O Kubernetes pode ser dividido em dois planos: o plano de controle, que realiza a orquestração global do sistema, e o plano de dados, onde residem os contêineres.

Dentro do plano de dados, existem vários objetos que representam as aplicações e seus recursos. O Deployment é o objeto que descreve o estado desejado de uma aplicação — qual imagem de contêiner usar, quantas réplicas rodar, como atualizar — e o controlador do Deployment garante que o estado real do cluster corresponda a esse estado desejado. É ele que permite a automação da implantação (rollout), do dimensionamento (scale) e das operações de gestão (rollback, atualizações).

Para entender a diferença, é útil comparar os principais objetos e ferramentas do ecossistema Kubernetes:

Recurso

Função principal

Deployment

Gerencia aplicações stateless (sem estado), automatizando rollout, scale e rollback.

StatefulSet

Gerencia aplicações stateful (com estado), garantindo identidade e armazenamento persistente para cada pod.

Kubectl

Ferramenta de linha de comando para interagir com o cluster Kubernetes.

Helm

Gerenciador de pacotes para Kubernetes, que empacota e implanta aplicações.

Kubernetes Engine

Serviço gerenciado de Kubernetes oferecido pelo Google Cloud (GKE).

A pegadinha da questão está em confundir o objeto que automatiza a gestão (Deployment) com as ferramentas que auxiliam nessa gestão (Kubectl, Helm) ou com o serviço que oferece o Kubernetes (Kubernetes Engine). O Deployment é a peça central que define e mantém o estado desejado da aplicação, enquanto as outras opções são meios de interagir com o cluster ou de empacotar aplicações.

Guarde essa distinção: o Deployment é o objeto declarativo que descreve o estado desejado; o Kubectl é a ferramenta para enviar comandos; o Helm é o empacotador; e o Kubernetes Engine é o serviço gerenciado. É exatamente essa fronteira que separa as alternativas.

Alternativa A — ❌ Incorreta

O Kubectl é a ferramenta de linha de comando (CLI) usada para interagir com o cluster Kubernetes, permitindo executar comandos como kubectl get pods, kubectl apply e kubectl scale. Ele é o meio de comunicação com o API server, mas não é o recurso que automatiza a implantação e o dimensionamento — ele apenas envia as instruções. O erro está em confundir a ferramenta de interação com o objeto que executa a automação.

Alternativa B — ❌ Incorreta

O Helm é o gerenciador de pacotes do Kubernetes, que permite empacotar, configurar e implantar aplicações de forma repetível, usando "charts". Ele facilita a instalação e o gerenciamento de aplicações complexas, mas não é o recurso que automatiza a implantação e o dimensionamento em si — ele é uma ferramenta auxiliar que usa Deployments e outros objetos por baixo dos panos. A confusão aqui é entre o empacotador e o objeto de automação.

Alternativa C — ❌ Incorreta

O Kubernetes Engine (ou Google Kubernetes Engine, GKE) é um serviço gerenciado de Kubernetes oferecido pelo Google Cloud Platform. Ele fornece a infraestrutura e o gerenciamento do plano de controle, mas não é o recurso que automatiza a implantação de aplicações — é o próprio Kubernetes que faz isso, e o GKE é apenas uma forma de obtê-lo como serviço. A pegadinha está em confundir o serviço de nuvem com o objeto de orquestração.

Alternativa D — ✅ Correta ⟵ GABARITO

O Deployment é o objeto do Kubernetes que descreve o estado desejado de uma aplicação, incluindo a imagem do contêiner, o número de réplicas e a estratégia de atualização. O controlador do Deployment garante que o estado real do cluster corresponda ao estado desejado, automatizando a implantação (rollout), o dimensionamento (scale) e as operações de gestão (rollback). É exatamente o que o enunciado descreve: "automação da implantação, dimensionamento e operações de gestão de aplicações conteinerizadas".

Alternativa E — ❌ Incorreta

O StatefulSet é um objeto do Kubernetes usado para gerenciar aplicações com estado (stateful), como bancos de dados, que precisam de identidade estável e armazenamento persistente para cada pod. Ele também automatiza a implantação e o dimensionamento, mas é específico para aplicações stateful, enquanto o Deployment é o recurso genérico para aplicações stateless. A questão não especifica o tipo de aplicação, então o Deployment é a resposta mais abrangente e correta.

NÃO CAIA NESSA!

A banca troca o objeto que automatiza a gestão (Deployment) pelas ferramentas que auxiliam nessa gestão (Kubectl, Helm) e pelo serviço que oferece o Kubernetes (Kubernetes Engine). O candidato que decora os nomes sem entender a função de cada um cai na armadilha. Lembre-se: o Deployment é o objeto declarativo que define o estado desejado; as outras opções são meios de interagir, empacotar ou obter o Kubernetes.

NÃO CAIA NESSA!

Para questões sobre Kubernetes, foque em distinguir os objetos (Deployment, StatefulSet, Service, Pod) das ferramentas (Kubectl, Helm) e dos serviços (GKE, EKS, AKS). O Deployment é o objeto mais cobrado, pois é o coração da automação de aplicações stateless. Memorize a função de cada um e a pegadinha perde o efeito.

Gabarito: letra D

Link permanente: /questoes/qa632959