Skip to content

Kubernetes

Guilherme Peres edited this page Jul 20, 2022 · 2 revisions

Dentre os benefícios ao utilizar o Kubernetes, podemos listar os principais:

  • Velocidade do deploy;
  • Habilidade para absorver mudanças rapidamente;
  • Habilidade para restaurar o serviço em caso de falha;
  • Abstrair a complexidade no cluster;

Os princípios do Kubernetes são:

  • Estado Desejado / Configuração Declarativa: Estágio onde declaramos como o serviço deve ser.
  • Controladores: Possuem a responsabilidade de gerenciar o estado do serviço, garantindo que o mesmo esteja em um estado desejado.
  • API: Interface de comunicação entre o cliente e o serviço. k8s proporciona uma API RESTful das coleções de objetos que podemos utilizar para gerenciar os serviços.

Um olhar mais profundo sobre k8s API

Nos bastidores, você descobrirá que eles são uma coleção de objetos de API. A única maneira de interagir com o cluster.

Os dados são serializados em JSON e persistidos no armazenamento de dados do cluster.

Esses objetos são primitivos que representam o estado do sistema. Permitem que você gerencie o estado do sistema, tanto declarativo como imperativo.

Objetos primitivos da API:

Pods

É um ou mais containers que são executados em um mesmo ambiente. Essencialmente, é um container que pode ser executado em um ambiente Docker.

Para o k8s, este é o menor objeto que pode ser criado. Eles são de estado efêmero, ou seja, não são persistentes.

Controllers

Responsáveis por gerenciar o estado de cada serviço do cluster.

ReplicaSet

Nos permite definir um número de pods que serão criados, o seu trabalho é garantir que o número de pods seja o esperado.

Caso algum pode fique fora do controle, ou seja, seu estado não seja o esperado, o ReplicaSet irá criar novos pods para substituir os que ficaram fora do controle.

Services

Proporcionam um ponto de acesso persistente a um ou mais pods.

Storage

Obviamente os dados precisam ser persistidos.

Clone this wiki locally