Home > Colunas

Kubernete: o que é e como funciona

Entenda como funciona o orquestrador e como a sua adoção aprimorará a eficiência da estrutura de TI da sua empresa

Amanda Quinto

15/05/2019 às 20h12

Foto: Shutterstock

Podemos definir Kubernete como um orquestrador de containers, projetado pelo Google e mantido pela Cloud Native Computing Foundation (CNCF). No entanto, antes de ir mais a fundo no assunto, é necessário entender que as aplicações, em um modo geral, evoluíram de enormes monólitos com funções totalmente acopladas e que só funcionam em grandes máquinas físicas com muitos recursos computacionais, para microsserviços que rodam totalmente desacoplados, em um container mínimo e com alta capacidade de crescimento horizontal.

Tal elasticidade que as aplicações conteinerizadas é necessária para elas serem orquestradas e garantir que os ‘thresholds’ sejam respeitados, por isto não é cabível utilizar apenas algum ‘runtime’ de containers como o Docker. É necessário também utilizar um orquestrador de containers.

Existem alguns fatores e características específicas que explicam por que o Kubernete (ou apenas K8S) ganhou tanta expressão no mercado:

• Non Lock-In: hoje, o Kubernete tem versões em cada um dos grandes provedores de nuvem. A AWS, por exemplo, tem EKS, a GCP tem GKE e a Azure tem o AKS. Fora isto, é possível (e muito comum) utilizar o Kubernete nas respectivas ‘Virtual Machines’ em um dos provedores ou em todos, sendo orquestrados por ferramentas como Kops ou Juju;

• Addons: os 'addons' são o ponto mais importante fator pelo qual o Kubernete é tão difundido. Isso porque existem diversas aplicações que podem ser instaladas para realizar atividades como captura de logs, geração de certificados SSL (‘Secure Sockets Layer’), monitoração de componentes, trace de requisições, SSO (Single Sign On). O mais interessante é que estes componentes são desenvolvidos pela comunidade e são open-source;

• Cases Públicos: das dezenas de cases públicos que podemos citar, alguns dos mais notáveis são o fenômeno ‘Pokémon GO’ e as aplicações do Google como Gmail e Google Drive. Todos eles são cases enormes, sobretudo o game ‘Pokémon GO’, que teve um grande lançamento e precisou crescer de forma violenta para suportar o grande volume de acessos.

Para entender como o Kubernete funciona, precisamos conhecer os principais componentes de sua arquitetura:

• Master: a Master é o cérebro de tudo, é lá que roda a API, o ETCD e os componentes mais importantes, que de fato gerenciam o cluster;

• Nodes: Os nodes são os trabalhadores, que podem ser ‘Virtual Machines’ ou máquinas físicas. Eles recebem apenas as instruções das Masters e os acessos às aplicações também são processadas por meio deles. É nos nodes que rodam os Pods;

• Pods: os Pods são a menor unidade do Kubernete, onde rodam os containers. Pode haver mais de um container por Pod;

• Deployments: Os deployments são os objetos do K8S que controlam e fazer o deploy dos Pods. No ‘deployment’ é definido, por exemplo, as imagens ‘docker’ dos containers, a porta do container, o nome do pod, o ‘namespace’ em que o pod irá rodar. Pode conter instruções como variáveis de ambiente, mapeamento de volumes e tags;

• Services: O ‘service’ pode ser visto como um serviço que agrega os pods abaixo de si baseado em ‘tags’! Por exemplo, no seu deployment (que agora você já sabe o que é) você pode inserir a tag: “app: web”. Também, no seu ‘service,’ na sessão de Selector você pode adicionar a tag “app: web”. Assim, todos os ‘pods’ que contiverem esta tag serão agregados e expostos pelo ‘service’.

Por fim, é importante ressaltar que o Kubernete deve ser visto não apenas como um orquestrador de containers, mas como um ecossistema robusto de itens e conceitos que podem facilitar o desenvolvimento de uma aplicação, a estabilização da mesma em produção, junto com monitoração, balanceamento, agregação de logs, gerenciamento de recursos computacionais e facilitação de construção de pipelines de ‘continuous deployment ‘ e ‘continous integrations’.

*Amanda Quinto é arquiteta de soluções da Claranet Brasil

Junte-se a nós e receba nossas melhores histórias de tecnologia. Newsletter Newsletter por e-mail