Login / Registre-se Account
Jump to section

O que é um pod do Kubernetes?

Copiar URL

Um pod do Kubernetes é um conjunto de um ou mais containers Linux®, sendo a menor unidade de uma aplicação Kubernetes. Os pods são compostos por um container nos casos de uso mais comuns ou por vários containers fortemente acoplados em cenários mais avançados. Os containers são agrupados nesses pods para que os recursos sejam compartilhados de modo mais inteligente, como descrito abaixo.

No sistema do Kubernetes, os containers de um pod compartilham os mesmos recursos de computação. Esses recursos são agrupados na forma de clusters, resultando em um sistema distribuído de modo mais inteligente e eficiente para a execução de aplicações. Inicialmente, é difícil entender os componentes do Kubernetes, mas os conceitos mais importantes que você deve conhecer para compreender as vantagens dos pods do Kubernetes são:

Unidades de hardware

Nó: a menor unidade do hardware de computação no Kubernetes. Muitas vezes, é considerado como uma máquina individual.

Cluster: um conjunto de nós agrupados para que os recursos sejam compartilhados e balanceados de modo inteligente.

Unidades de software

Container Linux: um conjunto de um ou mais processos com todos os arquivos necessários para a execução, o que o torna portátil de uma máquina para outra.

Pod do Kubernetes: um conjunto de um ou mais containers Linux agrupados em um mesmo pacote para maximizar os benefícios do compartilhamento de recursos por meio do gerenciamento de clusters.

Basicamente, cada máquina de hardware é representada no Kubernetes como um nó. Os vários nós são agrupados em clusters para que a capacidade de computação seja distribuída conforme o necessário. Os pods são executados nos clusters, assegurando que os containers fortemente acoplados dentro deles sejam executados juntos no mesmo cluster.

O relacionamento entre pods e clusters é o que faz com que o Kubernetes não execute containers diretamente. Em vez disso, ele executa os pods para que todos os containers dentro de um pod compartilhem os mesmos recursos e a mesma rede local. Por estarem agrupados dessa maneira, os containers podem se comunicar uns com os outros como se compartilhassem o mesmo hardware físico, enquanto mantêm um certo nível de isolamento.

A organização de containers em pods é a base de uma das funcionalidades mais famosas do Kubernetes: a replicação. Quando existe esse tipo de organização, o Kubernetes pode usar controladores de replicação para escalar horizontalmente uma aplicação, conforme a necessidade. Efetivamente, isso significa que, quando um pod fica sobrecarregado, o Kubernetes pode replicá-lo e implantá-lo no cluster de forma automática. Além de ajudar a manter o funcionamento correto das operações durante os períodos de sobrecarga, os pods do Kubernetes são frequentemente replicados para que o sistema permaneça resistente a falhas

Maximizar os benefícios de elementos reutilizáveis, como os pods, é uma das principais vantagens do sistema do Kubernetes. Às vezes, são necessários anos de tentativas e erros para descobrir as melhores maneiras de usar o Kubernetes em ambientes de produção. Mas, a maioria das empresas não dispõe de todo esse tempo, principalmente quando é preciso implantar aplicações nativas em nuvem rapidamente.

No entanto, como o Kubernetes é desenvolvido com base em padrões abertos, podemos aprender os padrões de sucesso e falha resultantes dos erros e acertos dos primeiros usuários. Esses padrões apresentam designs replicáveis que muitas empresas podem usar para acelerar os esforços de adoção da plataforma.

Disponibilizado por O’Reilly, o e-book Padrões do Kubernetes: elementos reutilizáveis para projetar aplicações nativas em nuvem, dos autores Bilgin Ibryam e Roland Huß, apresenta em detalhes as práticas, os princípios, os padrões e os elementos reutilizáveis mais comuns para projetar e implementar aplicações nativas em nuvem no Kubernetes.