Cluster Kubernetes no RHel 7 (Parte 1)

O K8s ou como é mais conhecido Kubernetes, é um produto Open Source, ou seja, plataforma de código aberto, portável e extensiva para o gerenciamento de cargas de trabalho e serviços distribuídos em contêineres, essa tecnologia é utilizada também para automatizar as implantações, dimensionar e gerenciar aplicativos em contêineres.

Um cluster Kubernetes é composto por alguns componentes. Essa divisão acontece de duas formas: componentes que fazem parte da camada de gerenciamento e componentes que fazem parte de um conjunto de máquinas que são os nós.

Componentes da camada de gerenciamento

Esses componentes podem ser executados em qualquer máquina do cluster, basicamente são componentes que respondem aos eventos do cluster e não é possível executar contêineres de usuário na máquina nesta máquina.

Mas vamos aos componentes…

kube-apiserver

É visto como a principal implementação de um servidor de API do Kubernetes.

etcd

Componente que representa o armazenamento do tipo chave-valor responsável em armazenar todos os dados do cluster, é importante ter uma política de backup para esse componente.

kube-scheduler

Componente que controla os Pods disponíveis.

kube-controller-manager

Componente responsável por executar os processos de controlador, os controladores podem ser: controlador de nó, controlador de job, controlador de endpoint e controlador de conta de serviço e token.

cloud-controller-manager

Componente que permite que você vincule seu cluster na API do seu provedor de nuvem, este componente executa apenas controladores que são específicos para o seu provedor de nuvem.

Node Components

São componentes de nós, executados em cada nó do cluster, mantendo os Pos em execução.

Aí vem mais componentes…

kubelet

Considerado um agente, este é executado em cada nó do cluster garantindo que os contêineres estejam sendo rodando em um Pod. O kubelet utiliza um conjunto de PodSpecs, que garante que todos os contêineres descritos neste arquivo estejam funcionando corretamente, outra informação é que o kubelet não gerencia contêineres criados fora do Kubernetes.

kube-proxy

Funciona como um proxy de rede que é executado em cada nó do cluster, ele implementa parte do conceito de serviço do Kubernetes.

Container runtime

Enfim, chegamos no responsável por executar os contêineres.

Por último mas não menos importante, os Addons…

Addons

Os complementos utilizam recursos dos Kubernetes para implementar funcionalidades dos cluster com DNS, Web UI (Dashboard), Monitoramento de recursos do contêiner e Logging a nível do cluster. Desses o que pode ser considerado diferenciado é o DNS, pois todos os clusters do Kubernetes devem ter um DNS do cluster, devido a sua dependência.

Referências

https://kubernetes.io/pt/docs/home/

--

--