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

Recursos da Red Hat

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.

Hub

Blog da Red Hat

Tudo relacionado à Red Hat: soluções, treinamentos e certificações Red Hat, casos de sucesso de clientes, novidades dos nossos parceiros e notícias sobre projetos das comunidades open source.

Teste as soluções da Red Hat

Você sabia que a Red Hat oferece versões de teste gratuitas de suas soluções? Aproveite e obtenha experiência prática, prepare-se para uma certificação da Red Hat ou avalie na prática se a solução é adequada para ao caso de uso.

Leia mais

What is the Kubernetes Java client?

The Kubernetes Java client is a client library that enables the use of the Java programming language to interface with Kubernetes.

Kubernetes na AWS: comparação entre K8s autogerenciado e plataforma de aplicações gerenciada

Conheça as vantagens de usar o Kubernetes (K8s) na AWS e entenda as diferenças entre o Kubernetes autogerenciado e uma plataforma de aplicações gerenciada.

O que é hosted control plane?

Hosted control plane refere-se ao plano de gerenciamento desacoplado que permite o controle e gerenciamento consolidados dos principais componentes do plano de controle.

Containers: leitura recomendada

Artigos relacionados