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¶
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