Middle
Por que é responsável a plano de controlo do Kubernetes e o que fazem os nós de trabalho?
sobes.tech IA
Resposta da IA
O plano de controlo gere o cluster: aceita comandos, planeia os processos do kube-scheduler, gere os estados através do kube-controller-manager, e armazena a configuração no etcd. Os nós de trabalho (workers) executam cargas de trabalho reais (pods) sob a gestão do kubelet e atendem às solicitações de rede através do kube-proxy.
Plano de controlo:
- kube-apiserver: Servidor API do cluster, ponto de entrada único.
# Exemplo de acesso à API apiVersion: v1 kind: Pod metadata: name: my-pod spec: containers: - name: my-container image: nginx - etcd: Armazenamento distribuído e consistente de tipo chave-valor para guardar o estado do cluster.
- kube-scheduler: Seleciona o nó para colocar novos pods.
- kube-controller-manager: Executa controladores que monitorizam o estado do cluster e fazem as alterações necessárias.
- Controlador de nós
- Controlador de replicação, ReplicaSet, Deployment
- Controlador de endpoints
- Controladores de contas de serviço e tokens
- cloud-controller-manager (opcional): Interage com provedores de nuvem para gerir recursos (balanceadores de carga, volumes persistentes, etc.).
Nós de trabalho:
- kubelet: Agente que corre em cada nó. Gere os contêineres nos pods, interagindo com o ambiente de execução de contêineres (por exemplo, Docker, containerd).
# Exemplo de comando que o kubelet pode executar (simplificado) docker run nginx - kube-proxy: Mantém as regras de rede nos nós, garantindo a comunicação entre pods, a rede do cluster e o mundo exterior.
- Container Runtime: Software responsável por executar contêineres (Docker, containerd, CRI-O).