Kubernetes(abreviado como K8s) é um sistema de código aberto usado para gerenciar e implantar aplicativos em contêineres em uma rede de computadores. Kubernetes tornou-se uma plataforma popular e poderosa de gerenciamento de contêineres, originalmente desenvolvida pelo Google e atualmente mantida por uma grande comunidade de desenvolvedores.
As principais funções Kubernetes incluem
-
Gerenciamento de contêineres : Kubernetes permite empacotar aplicativos e seus recursos em arquivos containers. Containers fornecem um ambiente leve e garantem que os aplicativos sejam executados de forma consistente em qualquer sistema.
-
Implantação automatizada : Kubernetes permite implantação automatizada e fácil escalabilidade de aplicativos e serviços. Você pode especificar os requisitos de recursos, o número de instâncias e Kubernetes manterá automaticamente o estado desejado.
-
Gerenciamento de recursos : K8s gerencia recursos do servidor, como CPU, memória e armazenamento, para garantir que os aplicativos não consumam recursos excessivos e não interfiram uns com os outros.
-
Recuperação Automática e Tolerância a Falhas : Kubernetes ajuda os aplicativos a se recuperarem automaticamente de falhas. Ele pode reverter automaticamente para uma versão anterior de um aplicativo se a nova versão encontrar problemas.
-
Balanceamento de carga e distribuição de tráfego : Kubernetes fornece mecanismos para distribuir uniformemente o tráfego entre instâncias de aplicativos em servidores diferentes nodes. Isso melhora o desempenho e garante escalabilidade.
-
Gerenciamento de configuração e segredos : Kubernetes permite gerenciar com segurança a configuração e os segredos do aplicativo usando recursos como K8s Secrets e ConfigMaps.
Os mecanismos operacionais de Kubernetes incluem
-
Nodes: Os servidores ou computadores individuais na rede são chamados de " nodes." Existem dois tipos de nodes entrada Kubernetes: nó mestre e nó de trabalho. O Master Node gerencia e controla todo o sistema, enquanto o Worker Node executa containers e aplica aplicativos.
-
Pods: um pod é a menor unidade implantável no Kubernetes. Um pod pode conter um ou vários containers, mas eles compartilham o mesmo armazenamento de rede e ciclo de vida. Isso facilita a comunicação entre containers um pod.
-
Controller: Controladores são componentes que gerenciam e mantêm réplicas de arquivos pods. Os tipos de controladores incluem ReplicaSet(garantir o número correto pods e reiniciar, se necessário), Implantação(gerenciar versões e atualizações de aplicativos) e StatefulSet(para implantar aplicativos com estado).
-
Service: Os serviços são um mecanismo para balanceamento de carga e distribuição de tráfego para pods. Os serviços facilitam o acesso aos aplicativos pods sem a necessidade de conhecer suas localizações específicas.
-
Kubelet e Kube Proxy: Kubelet é um componente em execução em cada nó de trabalho, responsável pelo gerenciamento pods desse nó. Kube Proxy é um proxy de rede para conexão pods.
Como resultado, Kubernetes automatiza a implantação e o gerenciamento de aplicativos em contêineres, reduzindo o tempo e o esforço necessários para manter sistemas complexos.