O Kubernetes é um software de código aberto projetado para o gerenciamento automatizado de aplicações conteinerizadas. Ele oferece implantação automática, escalabilidade, balanceamento de carga, monitoramento de serviços, tratamento de falhas e muito mais.
O uso do Kubernetes traz diversas vantagens, incluindo os seguintes recursos principais:
Com o Kubernetes, você pode automatizar o processo de criação de novos contêineres para implantação, remover contêineres existentes e realocar recursos para novos contêineres. As aplicações implantadas com Kubernetes sempre serão executadas conforme o esperado.
O Kubernetes detecta automaticamente contêineres que apresentem falhas ou parem de responder a solicitações e os reinicia. Se um contêiner não passar em uma verificação de integridade (health check) definida, o Kubernetes o encerra e inicia um novo contêiner para substituí-lo.
O Kubernetes distribui o tráfego de rede para garantir uma implantação estável. Se um contêiner receber tráfego excessivo, o Kubernetes poderá reiniciá-lo para equilibrar a carga.
O Kubernetes permite executar uma aplicação no mesmo ambiente em qualquer lugar. Você pode migrar facilmente aplicações de máquinas locais de desenvolvimento para servidores de produção sem se preocupar com problemas de compatibilidade.
Senhas, tokens OAuth e chaves SSH são mantidos em segurança. É possível atualizar as configurações das aplicações sem alterar as imagens dos contêineres ou expor informações confidenciais na configuração do ambiente.
Assim como outras operações, o processo de atualização pode ser totalmente automatizado. As atualizações não afetam o funcionamento atual do sistema, podem ser realizadas em momentos convenientes para o desenvolvimento e não exigem o envolvimento das equipes de engenharia.
Com gerenciamento flexível de carga e amplas capacidades de escalabilidade de cluster, o Kubernetes garante alto desempenho do sistema e tolerância a falhas.