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
ce404156
Banca
CESPE / CEBRASPE
Órgão
TC DF
Ano
2024
Cargo
ACE ( )

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

 

O comando kubeadm init inicializa um Kubernetes worker e o conecta ao cluster existente.

  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: kubeadm init e a função de cada comando

Gabarito: letra E (ERRADO). O comando kubeadm init inicializa o plano de controle (control plane) de um cluster Kubernetes, tornando a máquina um nó mestre (master node) — e não um worker. Para conectar um worker ao cluster existente, o comando correto é o kubeadm join, que recebe o token e o endereço do API server gerados pelo kubeadm init. A afirmação inverte a função dos dois comandos, uma pegadinha clássica de banca.

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 a questão, é preciso dominar a arquitetura de um cluster: ele é dividido em dois planos — o plano de controle (control plane), responsável pela orquestração global, e o plano de dados (data plane), onde os contêineres efetivamente rodam. No plano de controle ficam componentes como o API server, o etcd, o controller manager e o scheduler. No plano de dados ficam os nodes (nós) — servidores físicos ou virtuais — e, dentro deles, os pods, que são a unidade de trabalho básica e agrupam um ou mais contêineres.

A ferramenta kubeadm é um utilitário de linha de comando usado para bootstrap (inicialização) de clusters Kubernetes. Ela tem dois subcomandos principais, e é exatamente aí que mora a confusão:

  • kubeadm init: inicializa o control plane na máquina onde é executado. Ou seja, transforma aquela máquina no nó mestre do cluster. Ao final, ele exibe as instruções (token e comando) para que outros nós possam se juntar ao cluster.

  • kubeadm join: executa a junção de um nó worker ao cluster. É usado nas demais máquinas, que se conectam ao API server do nó mestre usando o token gerado pelo init.

Na prática, o fluxo de criação de um cluster é: primeiro, você executa kubeadm init na máquina que será o mestre; depois, em cada máquina que será worker, executa kubeadm join <endereço-do-api-server> --token <token>. O comando kubeadm join é o que "conecta ao cluster existente", exatamente o que a afirmação atribuiu ao init.

A pegadinha da banca é trocar a função dos comandos: dizer que o init inicializa um worker e o conecta ao cluster. Na verdade, o init cria o cluster (inicializa o control plane), e o join é que adiciona um nó ao cluster já existente. Guarde essa fronteira: init = cria o cluster (mestre); join = entra no cluster (worker). É nela que a questão se decide.

  1. 1kubeadm init (mestre)
  2. 2Gera token e endereço
  3. 3kubeadm join (worker)
LEVEL · soulevel.com.br

Item — ❌ ERRADO

A afirmação está errada porque inverte a função do comando kubeadm init. Ele não inicializa um worker; ele inicializa o control plane do cluster, tornando a máquina um nó mestre. O comando que inicializa um worker e o conecta ao cluster existente é o kubeadm join, que usa o token e o endereço do API server fornecidos pelo init. A banca explora exatamente essa troca de papéis entre os dois subcomandos do kubeadm.

NÃO CAIA NESSA!

A banca adora inverter os papéis dos comandos do kubeadm. Aqui, ela trocou init por join: o init cria o cluster (inicializa o control plane, tornando a máquina o mestre), enquanto o join adiciona um nó worker ao cluster existente. Se você decorar essa dupla — init = mestre, join = worker —, esse tipo de questão fica trivial. 💪

Gabarito: letra E (ERRADO).

Link permanente: /questoes/ce404156