Pular para conteúdo

Kubernetes

Kubernetes é um plataforma de código aberto, portável e extensiva para o gerenciamento de cargas de trabalho e serviços distribuídos em contêineres, que facilita tanto a configuração declarativa quanto a automação.

K8s é a abreviação derivada pela troca das oito letras "ubernete" por "8", se tornado K"8"s.

Arquitetura do Cluster

alt text

Cluster:

Conjunto de nós (máquinas físicas ou virtuais) que executam aplicações em contêineres gerenciadas pelo Kubernetes.

Nodes:

O Kubernetes executa sua carga de trabalho colocando contêineres em Pods para serem executados em Nós. Um nó pode ser uma máquina virtual ou física, dependendo do cluster. Cada nó é gerenciado pela camada de gerenciamento e contém os serviços necessários para executar Pods.

Control Plane:

A camada de gerenciamento (control plane) gerencia os nós de processamento e os Pods no cluster.

Recursos da Kubernetes Api

Namespace:

Método de organização que permite a separação lógica dos recursos dentro do cluster, proporcionando isolamento e controle de acesso.

Deployment:

Um objeto de Deployment gerencia a criação e atualização de Pods. Ele assegura que um número especificado de pods esteja rodando em um determinado momento.

StatefulSet:

Um StatefulSet gerencia a implantação e o escalonamento de um conjunto de Pods, e garante a ordem e a estabilidade dos pods. Usado para aplicativos que requerem armazenamento persistente e um identificador de rede estável, como bancos de dados.

Pod:

A menor unidade de execução no Kubernetes. Um pod encapsula um ou mais contêineres que compartilham recursos de rede e armazenamento.

Serviço:

Abstração que define um conjunto lógico de pods e uma política de acesso. Ele permite o balanceamento de carga e a descoberta de serviços.

ConfigMap e Secret:

Objetos que armazenam informações de configuração e dados sensíveis, como senhas ou chaves de API, que podem ser usados pelas aplicações em execução nos pods.

Horizontal Pod Autoscaler (HPA):

O HPA ajusta automaticamente o número de réplicas de um Pod com base na utilização da CPU ou outras métricas personalizadas. Ele ajuda a escalar aplicações dinamicamente de acordo com a carga.

Imagens:

Uma imagem de contêiner representa dados binários que encapsulam uma aplicação e todas as suas dependências de software.

Funcionalidades do Kubernetes:

  • Descoberta de serviços e balanceamento de carga
  • Orquestração de armazenamento
  • Implantações e reversões automáticas
  • Empacotamento automático
  • Auto-recuperação
  • Gerenciamento de segredos e configuração
  • Execução de lotes
  • Escalonamento horizontal
  • Pilha dupla IPv4/IPv6
  • Projetado para extensibilidade

Referências

Kubernetes ⧉

Kubernetes Api ⧉