Capítulo 2.9 - Comunicação Entre Componentes
Objetivos de Aprendizagem
Ao final deste capítulo, você será capaz de:
- Compreender como os componentes se comunicam
- Explicar os protocolos utilizados
- Identificar os fluxos de comunicação
- Entender a segurança das comunicações
Visão Geral
Todos os componentes do Kubernetes se comunicam via o API Server, que é o ponto central de comunicação:
Protocolos de Comunicação
HTTPS/TLS
Todas as comunicações são criptografadas:
Vantagens:
- Criptografia em trânsito
- Autenticação mútua
- Integridade dos dados
Certificados
Cada componente utiliza certificados:
- API Server: Certificado de servidor
- kubelet: Certificado de cliente
- etcd: Certificados peer-to-peer
Principais Fluxos de Comunicação
1. Usuário → API Server
2. Controller Manager → API Server
3. Scheduler → API Server → kubelet
4. kubelet → Container Runtime
Watch API
Os componentes utilizam a Watch API para receber notificações em tempo real:
Vantagens:
- Notificações instantâneas
- Sem polling
- Eficiente em recursos
Segurança das Comunicações
Autenticação
Cada componente se autentica com certificados:
Autorização
O RBAC controla o que cada componente pode fazer:
- kubelet: Pode ler/atualizar os Pods do seu node
- Controller Manager: Pode ler/atualizar todos os recursos
- Scheduler: Pode ler os Pods e vinculá-los aos nodes
Resumo
Neste capítulo, você aprendeu:
Comunicação centralizada: Todos os componentes via API Server
Protocolos: HTTPS/TLS para segurança
Watch API: Notificações em tempo real
Certificados: Autenticação mútua
RBAC: Autorização baseada em papéis
Próximos Passos
Agora que você entende a comunicação:
Capítulo 2.10: Add-ons e Extensões
Lab 2.2: Análise dos Worker Nodes
Capítulo criado em: Dezembro 2024