Kubernetes
Conceito: Orquestrador de contêineres

Control plane
- kube-apiserver: É a porta de entrada de todas as ações realizadas.
- etcd: É um banco de dados chave-valor altamente disponível que armazena todas as configurações e o estado do cluster.
- kube-scheduler: É o responsável por alocar novos Pods em um determinado nó, baseando-se em recursos disponíveis (CPU/RAM).
- kube-controller-manager: É o que controla os processos e garante o “estado atual” seja igual ao “estado desejado”.
Worker Nodes
- kubelet: Garante que os contêineres descritos no PodSpec estejam rodando e saudáveis.
- kube-proxy: Gerencia as regras de rede nos nós, permitindo que a comunicação chegue aos contêineres certos.
- Container Runtime: Responsável por rodar os contêineres (como o containerd ou CRI-O).
Objetos
- PodSpec: Especificação que define como um Pod deve ser executado. É uma seção dentro de recursos do Kubernetes que descreve os contêineres, volumes, configurações de rede, e outros detalhes de um Pod.
- Pod: A menor unidade, que contém um ou mais contêineres que compartilham rede e armazenamento.
- Deployment: Define como a aplicação deve rodar, como quantidade de réplicas, imagem que será executada, etc. O Deployment usa o PodSpec internamente.
- Service: Uma forma estável de acessar seus Pods, pois o IP de um Pod muda o tempo todo.
- ConfigMaps / Secrets: Armazena as configurações e senhas, separando o código da infra.