O QUE É O KUBERNETES
O kubernetes é um projeto opensource que foi lançado lá em 2014. Ele veio da inspiração de um sistema que o Google usava pra gerencia seus serviços lá na nuvem. O mais legal do kubernetes é que ele gerencia nossos containers (você pode entender mais sobre containers nesse meu artigo aqui) de forma inteligente e eficiente.
Quando a gente usa kubernetes conseguimos gerenciar vários containers ao mesmo tempo e também garantir que eles sempre fiquem disponíveis e escaláveis. Basicamente, dá pra pensar no kubernetes como um sistema de orquestração de containers onde ele coordena e automatiza a implantação e tudo referente aos containers da nossa aplicação em um conjunto de máquinas chamado cluster. Nessa gerencia, ele distribui os nossos containers pelo cluster de acordo com a demanda, os recursos disponíveis, monitora todo o funcionamento deles e quando acontece uma falha ali, ele se recuperar.
VANTAGENS
- Correção de falhas: O Kubernetes nos ajuda bastante na correçao de falhas de container porque quando ele ve indentifica que tem algum container que tem algum problema ou não tá funcionando bem ou não responde a verificação de inetgridade que configuramos ele reinicia esses containers, substitui os containers que apresentam problemas, apaga os containers que não estão respondemdo a verificação de integridade e não os deixam up até que eles fiquem funcionais.
- Escalabilidade: A escalabilidade é bem importante e faz com que a gente consiga alterar automaticamente o numero de containers que estão sendo executados com base no uso de CPU e outras metricas. Conseguimos tambem fazer essa escala de forma manual por meio de um comando no CLI e dessa forma, conseguimos alterar o nosso numero de containers que estão sendo executados -** Automatização: **A automatizaçao tambem é bem legal no kubernetes, porque a gente fala como vamos querer que nossos containers sejam, estejam. Se quisermos mudar alguma coisa, ele ajuda a gente com isso e faz isso para de forma controlada. Ele pode, por exemplo, criar novos containers, apagar os antigos e transferir recursos dos antigos para os novos automaticamente.
- Sistema de armazenamento: O Kubernetes permite montar automaticamente um sistema de armazenamento, como armazenamentos locais, provedores de nuvem pública, etc.
- Alocação de containers: Ali no kubernetes, dá pra ter um sistema de alocação de containers em servidores ou nodes de maneira bem mais eficiente. O objetivo é usar ao máximo os recursos disponíveis (como CPU e memória) sem desperdiçar espaço. Por ex: se a gente tem vários containers ali e eles tem requisitos de recursos bem diferentes, o “automatic bin packing” nos ajudará a garantir que esses containers sejam distribuídos nos servidores de uma forma que eles aproveite ao máximo os recursos, enquanto atende às necessidades de cada containers.
Em resumo, o Kubernetes é uma ferramenta bem poderosa e versátil que nos ajuda na gerencia dos nossos containers. Nos próximos posts vamos apronfundar em como ele funciona e subir uma aplicação nele.
continua …