cd ..
KUBERNETES

Entendendo Control Plane e Workers

No Kubernetes , o cluster é dividido basicamente en duas partes:

Control Plane = Cérebro do cluster

Workers = Máquinas que fazem o trabalho pesado.


Control Plane

O Control Plane decide o que acontece nos clusters. Ele não costuma rodar a aplicação diretamente, mas é ele que administra todo o ambiente.

Arquitetura básica do Kubernetes

flowchart LR

    subgraph CP["Control Plane - Node"]
        direction TB

        ETCD[("etcd<br/>Estado do cluster")]
        API["kube-apiserver"]
        SCHED["kube-scheduler"]
        CM["kube-controller-manager"]

        API <--> ETCD
        SCHED <--> API
        CM <--> API
    end

    subgraph W1["Worker Node"]
        direction TB

        KUBELET["kubelet"]
        PROXY["kube-proxy"]
    end

    API <--> KUBELET

etcd

Ele guarda todas as informações. Todo o estado real do cluster. Ele só conversa com o kube API SERVER.

kube API SERVER

Só ele tem a permissão por default de conversar com o etcd. A função dele é pegar o status do clustercomo um todo. ELe que vai conversar com todo mundo. Toda a comunicação do clusteracontece através do kube API SERVER.

kube shedule

Ele é o responsável por fazer o gerenciamento de onde vai rodar cada um dos contrainers, ele é o controler responsável onde que vai os novos containers, é ele que saber da capacidade dos nós(nodes).

kube control manager

É o gerente de todos os controllers, ele que vai garantir o estado do cluster. Ele é o controlador do cluster.


Workers

kubelet

Ele é o agente o kubernets dentro do nó(node), e qualquer nó(node) do kubernetes vai ter um kubelet. É ele que vê se tudo está ok e que conversa com o kube APISERVER, recebendo a especificação dos Pods daquele node e reportando o estado de volta.

kube proxy

Todo nó (node) vai ter um kube proxy. É ele que vai fazer a comunicação dos pods com o resto do mundo, ele observa recursos do cluster e configura as regras de rede no nó (node).


Portas utilizadas pelos componentes do Kubernetes

Portas utilizadas pelos componentes do Kubernetes

ComponentePorta padrãoProtocolo
kube-apiserver6443TCP
etcd2379–2380TCP
kube-scheduler10259TCP
kube-controller-manager10257TCP
kubelet10250TCP
kube-proxy10256TCP

Portas de exposição de aplicações

RecursoPorta padrãoProtocolo
Service do tipo NodePort30000–32767TCP ou UDP