Apostilas em PDF – Containers e Orquestração: Docker e Kubernetes

Baixe o material de estudo



baixar curso online

Olá, querida(o) estudante! Dando sequência aos nossos estudos sobre arquiteturas modernas, vamos mergulhar em um dos temas mais relevantes e cobrados nos concursos de TI: Containers e Orquestração. Se a Arquitetura de Microsserviços nos mostrou como dividir o sistema, os containers (como o Docker) nos mostram como empacotar essas divisões e a orquestração (Kubernetes) nos mostra como gerenciar, escalar e automatizar tudo isso em ambientes de nuvem.

Este modelo de empacotamento e gestão revolucionou o ciclo de desenvolvimento e implantação (deployment), garantindo que o software funcione de forma consistente, seja em um notebook de desenvolvedor, seja em um cluster de produção com milhares de máquinas virtuais (VMs). Dominar o funcionamento do Kubernetes é crucial, pois ele é o padrão de mercado para elevar a disponibilidade e a escalabilidade de qualquer aplicação moderna.

O Conceito de Container e Docker

Antes de falar de orquestração, é fundamental entender o conceito de container. Um container é uma unidade de software padronizada que empacota o código de uma aplicação e todas as suas dependências (bibliotecas, runtime e configurações) de forma leve e portátil.

A principal ferramenta que popularizou esse conceito foi o Docker. Ao contrário das Máquinas Virtuais (VMs), que virtualizam o hardware completo e exigem um sistema operacional (Guest OS) para cada aplicação, os containers compartilham o kernel do sistema operacional (Host OS). Isso os torna extremamente leves, rápidos para iniciar (boot) e eficientes no uso de recursos.

A promessa do container é a consistência do ambiente: “Se funciona na minha máquina, funcionará na produção.”

A Necessidade de Orquestração

Para aplicações simples, o Docker resolve o problema do empacotamento. No entanto, quando entramos em um ambiente de produção com Arquitetura de Microsserviços, surgem desafios complexos:

  1. Escalabilidade: Como iniciar 100 instâncias de um serviço quando há um pico de tráfego?
  2. Alta Disponibilidade: Se um servidor (host) falhar, como garantir que os containers sejam reiniciados automaticamente em outro lugar?
  3. Gerenciamento de Rede: Como os containers distribuídos se comunicam entre si de forma segura e eficiente?
  4. Atualização (Deployment): Como atualizar uma aplicação sem tirar o serviço do ar (Zero Downtime Deployment)?

A resposta para esses desafios é a Orquestração de Contêineres.

Kubernetes: O Maestro da Infraestrutura

Kubernetes (K8s) é uma plataforma open-source de orquestração que fornece uma API para controlar como e onde os containers serão executados. Ele atua como o “maestro” de um cluster de máquinas, automatizando a implantação, o escalonamento, o balanceamento de carga e o monitoramento de aplicações em containers.

O uso do Kubernetes com o Docker (ou outro runtime de container) torna a infraestrutura mais robusta, aumenta a disponibilidade e a escalabilidade da aplicação, pois o K8s gerencia automaticamente a saúde e a alocação dos recursos.

Componentes Chave do Kubernetes

O Kubernetes opera por meio de um Cluster, que é composto por dois tipos de máquinas:

  1. Nodes (Nós): São as máquinas virtuais ou físicas que fornecem a capacidade computacional (CPU, memória) para executar as aplicações. Cada Node contém os serviços necessários para se comunicar com o Control Plane, como o Kubelet (um agente que garante que os containers estão sendo executados em um Pod) e o runtime do container (ex: Docker).
  2. Control Plane (Plano de Controle): É o cérebro do cluster. Contém o servidor de API (ponto de entrada para comunicação), o scheduler (que decide em qual Node colocar um novo Pod) e o etcd (o banco de dados de chave-valor que armazena o estado do cluster).

A Menor Unidade: O Pod

A menor unidade de computação implantável que se pode criar e gerenciar no Kubernetes é o Pod. Um Pod é uma abstração que geralmente contém um ou mais containers que compartilham recursos de rede (o mesmo endereço IP e porta) e armazenamento. O Pod é o que é agendado para execução em um Node.

Benefícios no Contexto de TI

A adoção do Kubernetes e de containers traz benefícios diretos para a gestão de sistemas:

  • Padronização: Garante que o ambiente de testes seja idêntico ao de produção.
  • Escalabilidade Automática: Permite configurar regras para aumentar ou diminuir o número de réplicas de um Pod em resposta à demanda (Horizontal Pod Autoscaler).
  • Auto-Recuperação: Monitora a saúde dos Pods e Nodes; se um Pod falhar, o K8s o reinicia automaticamente.
  • Agilidade no Deployment: Facilita a implementação de CI/CD, permitindo deployments rápidos e seguros (como Rolling Updates).

Conclusão

Containers e orquestração são as ferramentas que habilitam as arquiteturas modernas em larga escala. Enquanto o Docker resolve o empacotamento, o Kubernetes garante que a aplicação seja disponível, robusta e escalável ao automatizar a gestão de milhares de componentes em execução. O entendimento detalhado desses conceitos é obrigatório para qualquer profissional de tecnologia que lide com infraestrutura ou desenvolvimento de software em ambientes de nuvem.

Vamos ver como esse conteúdo é cobrado nos concursos!

1) Questão: Conceito e Benefícios do Kubernetes

Ano: 2025 Banca: CESPE / CEBRASPE Órgão: STM Prova: CESPE / CEBRASPE – 2025 – STM – Analista Judiciário – Área: Apoio Especializado – Especialidade: Análise de Sistemas 

No que se refere ao desenvolvimento web e mobile, bem como ao desenvolvimento com contêineres, julgue o próximo item. Kubernetes é um software de orquestração que fornece uma API para controlar como e onde os contêineres serão executados; o uso desse software com o Docker pode tornar a infraestrutura mais robusta e fazer com que o aplicativo que os utiliza esteja mais disponível e mais escalonável.

Gabarito: Certo

Comentário: A afirmativa está correta. Kubernetes é, de fato, o software líder de orquestração de containers, oferecendo uma API para gerenciar o ciclo de vida dos containers. Sua principal função é automatizar a execução, o deployment e a gestão em um cluster. A combinação com o Docker (runtime mais comum) resulta em uma infraestrutura que é mais robusta (por ser auto-recuperável), mais disponível (por balancear e reiniciar cargas em Nodes saudáveis) e mais escalável (por gerenciar a expansão automática de Pods).

2) Questão: Componentes do Kubernetes

Ano: 2023 Banca: FGV Órgão: Câmara dos Deputados Prova: FGV – 2023 – Câmara dos Deputados – Analista Legislativo – Informática Legislativa – Tarde 

Kubernetes é uma plataforma open-source de orquestração de contêineres. Sobre esta plataforma, assinale a afirmativa correta. 

  1. Executa cargas de trabalho colocando pods em contêineres para execução em nodes.
  2. Nodes são as menores unidades de computação implantáveis que é possível criar e gerenciar no Kubernetes.
  3. Uma imagem de contêiner é um pacote de software leve sem as dependências necessárias para executar o aplicativo.
  4. Um node pode ser uma máquina virtual ou física e contém os serviços necessários para executar os pods. 
  5. A execução de um contêiner é decomposta em um grupo de um ou mais kubelets com armazenamento efêmero.

Gabarito: D

Comentário: A alternativa D está correta. Um Node (ou Nó) é a máquina de trabalho (worker machine) no cluster Kubernetes; ele pode ser uma máquina física ou virtual. Ele contém os serviços essenciais (como o Kubelet e o runtimede container) para garantir que os Pods agendados sejam executados e monitorados.

  • A: Inverte a ordem. O Kubernetes coloca contêineres em Pods para execução em Nodes (o Pod é a unidade executada no Node).
  • B: A menor unidade de computação implantável no Kubernetes é o Pod, não o Node. O Node é a máquina.
  • C: Uma imagem de container é um pacote leve COM as dependências necessárias (código, runtime, bibliotecas) para garantir a portabilidade.
  • E: O Kubelet é um agente que roda dentro do Node. A execução do contêiner ocorre dentro de um Pod, que é gerenciado pelo Kubelet naquele Node.

Bibliografia

Fonte: Gran Cursos Online

Download disponível – Containers e Orquestração: Docker e Kubernetes



Baixar video aula

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Sair da versão mobile