ARQUITETURA SWARM

A arquitetura do Docker Swarm opera no modelo mestre-escravo, sendo composta essencialmente por dois tipos de nós (máquinas):

A comunicação entre eles é feita através de uma malha de rede integrada (Ingress Routing Mesh), que permite que qualquer nó do cluster receba conexões e as direcione para o contêiner correto, independentemente de onde ele esteja rodando.

Manager Nodes (Gerenciadores)

Manager Nodes (Gerenciadores)

São o "cérebro" do cluster. Eles recebem as definições de serviços, decidem em quais máquinas os contêineres devem rodar e mantêm o estado desejado do cluster (se um contêiner cair, o Manager o recria).

Worker Nodes (Trabalhadores)

Worker Nodes (Trabalhadores)

São as máquinas que executam a carga de trabalho. Eles recebem as tarefas (contêineres/tasks) enviadas pelos Managers e as executam, reportando seu status de volta.

ARQUITETURA KUBERNETES

A arquitetura do Kubernetes é baseada em um modelo de Cluster, dividido em duas partes principais que trabalham juntas para manter suas aplicações rodando:

O roteamento é baseado em Nomes/IPs de Service ou Ingress. É mais flexível e seguro, permitindo regras complexas como "domínio A vai para app X, domínio B vai para app Y".

Control Plane (Plano de Controle)

Control Plane (Plano de Controle)

É o "cérebro" do sistema. Ele toma decisões globais, detecta falhas e responde a eventos (como iniciar um novo contêiner se um antigo morrer). É composto por componentes como o API Server (porta de entrada), o etcd (banco de dados de configuração) e o Scheduler (que escolhe em qual máquina cada tarefa vai rodar).

Nodes (Worker Nodes)

Nodes (Worker Nodes)

São as máquinas (físicas ou virtuais) que realmente executam as aplicações. Cada nó possui um Kubelet (um agente que se comunica com o Control Plane) e o Container Runtime (como o Docker ou containerd) para rodar os contêineres agrupados em unidades chamadas Pods.