We couldn't find a match for given <KEYWORD>, please try again.

O que são pods de Kubernetes?

Um pod é a menor unidade de execução no Kubernetes. Um pod encapsula um ou mais aplicativos. Os pods são efêmeros por natureza. Se um pod (ou o nó em que ele é executado) falhar, o Kubernetes poderá criar automaticamente uma nova réplica desse pod para continuar as operações. Os pods incluem um ou mais contêineres (por exemplo, os contêineres do Docker).

Os pods também fornecem dependências ambientais, incluindo volumes de armazenamento persistentes (armazenamento permanente e disponível para todos os pods no cluster) e dados de configuração necessários para executar os contêineres no pod.

Kubernetes em 5 minutos

O estado do Kubernetes 2021

Qual é a função de um pod?

Os pods representam os processos em execução em um cluster. Ao limitar os pods a um único processo, o Kubernetes pode gerar relatórios sobre a integridade de cada processo em execução no cluster. Os pods têm:

  • um endereço IP exclusivo (que permite a comunicação entre eles)
  • volumes de armazenamento persistentes (conforme necessário)
  • informações de configuração que determinam como um contêiner deve ser executado.

Embora a maioria dos pods contenha um único contêiner, muitos terão alguns contêineres que trabalham em conjunto para executar uma função desejada.

Quais são os benefícios de um pod?

Quando os pods possuem vários contêineres, a comunicação e o compartilhamento de dados entre eles são simplificados. Como todos os contêineres em um pod compartilham o mesmo namespace de rede, eles podem se localizar e se comunicar entre si via localhost. Os pods podem se comunicar entre si usando o endereço IP de outro pod ou fazendo referência a um recurso que resida em outro pod.

Os pods podem incluir contêineres que são executados quando o pod é iniciado, por exemplo, para realizar a iniciação necessária antes da execução dos contêineres de aplicativos. Além disso, os pods simplificam o dimensionamento, permitindo que pods de réplica sejam criados e desligados automaticamente com base nas alterações sob demanda.

Como funciona um pod?

Os pods são criados por recursos de carga de trabalho chamados controladores, que gerenciam a implementação, a replicação e a integridade dos pods no cluster. Por exemplo, se um nó no cluster falhar, um controlador detectará que os pods nesse nó não estão respondendo e criará pods substitutos em outros nós.

Os três tipos mais comuns de controladores são:

  • Jobs para trabalhos do tipo lote que são efêmeros e executarão uma tarefa até a conclusão
  • Deployments para aplicativos sem estado e persistentes, como servidores da Web (servidores HPPT)
  • StatefulSets para aplicativos com estado e persistentes, como bancos de dados

Se um pod tiver vários contêineres, todos eles serão programados juntos no mesmo servidor do cluster, seja a VM ou o servidor físico. Todos os contêineres no pod compartilham seus recursos e dependências e podem coordenar sua execução e encerramento. Por exemplo, os pods podem ter contêineres 'init' que são executados antes da execução dos contêineres de aplicativo, configurando o ambiente para os aplicativos seguintes.

Os pods são quase sempre criados pelos controladores, que podem gerenciar automaticamente o ciclo de vida do pod, incluindo a substituição de pods com falha, a replicação de pods quando necessário e a remoção do pod dos nós do cluster quando eles forem concluídos ou não forem mais necessários.

Os controladores usam informações em um template de pod para criar os pods e garantem que os pods em execução correspondam à implantação definida no template de pod, por exemplo, criando réplicas que correspondam ao número definido na implantação.

Como os pods se comunicam entre si?

Quando um pod é criado, ele recebe um endereço IP exclusivo. Se houver vários contêineres no pod, eles poderão se comunicar entre si usando simplesmente localhost. As comunicações fora do pod são realizadas por meio da exposição de uma porta. As comunicações entre pods em um cluster aproveitam a atribuição de um endereço IP privado de cluster a cada pod em um cluster pelo Kubernetes, eliminando a necessidade de criar links entre pods explicitamente ou mapear portas de contêiner para portas de host. Dessa forma, cada pod em um cluster pode "ver" uns aos outros sem a necessidade do NAT.

Quais são os comandos kubectl básicos?

O kubectl fornece vários comandos que permitem ao usuário criar pods, executá-los por meio de implantações, verificar o status dos pods em execução e deter os pods que não são mais necessários. Os comandos JSON (JavaScript Object Notation) ou YAML (YAML Ain't Markup Language) são válidos como comandos de codificação.

Estes são os comandos kubectl mais utilizados:

Get

O comando kubectl get exibirá informações tabulares sobre um ou mais recursos. As informações podem ser filtradas por meio de seletores de rótulos. As informações podem ser exibidas apenas a partir do namespace existente ou de todos os namespaces do cluster.
O comando "kubectl api-resources" produzirá uma lista de todos os recursos compatíveis sobre os quais você pode obter informações. Este é o formato geral do comando kubectl:

$ kubectl get [(-o|--output=)json|yaml|wide|custom-columns=...|custom-columns-file=...|go-template=...|go-template-file=...|jsonpath=...|jsonpath-file=...] (TYPE[.VERSION][.GROUP] [NAME | -l label] | TYPE[.VERSION][.GROUP]/NAME ...) [flags]

Create Pods

Os pods são criados por meio do comando create no formato:

$ kubectl create -f FILENAME.

Por exemplo, o comando:

kubectl create -f ./mypod.yaml criará um novo pod a partir do arquivo YAML "mypod".

Delete Pods

O comando "kubectl delete -f ./mypod.yaml" excluirá o pod "mypod" do cluster. A exclusão de pods é um processo simples. Os pods continuarão em execução por um período de carência (padrão de 30 segundos) antes de serem encerrados à força. O valor do período de carência pode ser substituído pelo sinalizador –grace-period, se desejado.

Soluções e produtos relacionados

Tempo de execução do Kubernetes pronto para uso corporativo

Otimize as operações na infraestrutura multi-cloud.

Kubernetes versus Docker

Quais ferramentas você deve escolher para ter sucesso com os contêineres?

Docker Containers no Kubernetes

Depois de entender o que são os contêineres e o Kubernetes, o próximo passo é aprender como os dois funcionam juntos.