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