O que é o Kubernetes?

Com a ampla adoção de contêineres entre as organizações, o Kubernetes, o software de gerenciamento centrado em contêiner, se tornou o padrão de fato para implantar e operar aplicativos em contêiner. O Google Cloud é o lar do Kubernetes, originalmente desenvolvido no Google e lançado como código aberto em 2014. O Kubernetes foi criado com base nos 15 anos de execução de cargas de trabalho conteinerizadas do Google e nas contribuições valiosas da comunidade do código aberto. Inspirado no sistema de gerenciamento de clusters interno do Google, Borg, o Kubernetes facilita todas as tarefas associadas à implantação e ao gerenciamento do seu aplicativo. Ao oferecer orquestração de contêineres automatizada, o Kubernetes melhora sua confiabilidade e reduz o tempo e os recursos atribuídos às operações diárias.

Teste seu conhecimento com um laboratório prático no Google Skills

Kubernetes definido

O Kubernetes (às vezes abreviado como K8s com o 8 representando o número de letras entre o "K" e o "s") é um sistema de código aberto para implantar, escalonar e gerenciar aplicativos conteinerizados em qualquer lugar.

O Kubernetes automatiza tarefas operacionais de gerenciamento de contêineres e inclui comandos integrados para implantação de aplicativos, implementação de alterações nos seus aplicativos, escalonamento de seus aplicativos para mais e para menos para atender às necessidades de mudança, monitoramento de seus aplicativos e muito mais, facilitando o gerenciamento de aplicativos.

Como o Kubernetes funciona

À medida que os aplicativos são escalonados em vários contêineres e servidores, o Kubernetes ajuda a simplificar o gerenciamento. Ele orquestra implantações usando uma API de código aberto, agrupando contêineres em pods para escalonamento com base na demanda e na disponibilidade de recursos. O Kubernetes também automatiza a descoberta de serviços, o balanceamento de carga e a alocação de recursos, além de monitorar a integridade para permitir a autocorreção reiniciando ou replicando contêineres.

Para desenvolvedores corporativos, aqui está um detalhamento de como o Kubernetes funciona:

  • Defina seu aplicativo : comece definindo o estado desejado do seu aplicativo usando arquivos YAML. Esses arquivos especificam os contêineres a serem executados, os recursos de que precisam (CPU, memória) e como devem ser expostos à rede.
  • Envie uma solicitação para a API Kubernetes: você envia esses arquivos YAML para a API Kubernetes, normalmente usando a ferramenta de linha de comando kubectl.
  • O programador atribui pods a nós : o programador do Kubernetes analisa os requisitos do seu aplicativo e encontra os melhores nós no cluster para executar seus contêineres (empacotados como pods).
  • O Kubelet inicia os contêineres: em cada nó, um processo Kubelet recebe instruções do plano de controle e inicia os contêineres.
  • Os serviços expõem aplicativos: os serviços do Kubernetes fornecem um endereço IP estável e um nome DNS para seu aplicativo, permitindo que outros aplicativos acessem o aplicativo, mesmo quando os pods são criados, destruídos e reagendados.
  • Os Controladores garantem o estado desejado: os controladores do Kubernetes monitoram continuamente o estado do seu aplicativo e tomam ações corretivas, se necessário. Por exemplo, se um pod falhar, o controlador vai criar automaticamente um novo para substituí-lo.
  • Escalonamento e atualizações: você pode escalonar seu aplicativo com facilidade atualizando o número de réplicas na configuração de implantação. O Kubernetes vai criar ou remover pods automaticamente para corresponder à escala desejada. As atualizações graduais permitem que você implante novas versões do aplicativo sem inatividade.

Quais são os benefícios do Kubernetes?

 Operações automatizadas

O Kubernetes tem comandos integrados para lidar com grande parte do trabalho pesado que envolve o gerenciamento de aplicativos, permitindo automatizar as operações diárias. Você pode se certificar de que os aplicativos estejam sempre sendo executados da maneira desejada.

Abstração de infraestrutura

Quando você instala o Kubernetes, ele lida com a computação, a rede e o armazenamento em nome das suas cargas de trabalho. Isso permite que os desenvolvedores se concentrem nos aplicativos e não se preocupem com o ambiente subjacente.

Monitoramento da integridade do serviço

O Kubernetes executa verificações de integridade continuamente nos seus serviços, reiniciando os contêineres que falharam ou pararam e só disponibilizando os serviços aos usuários quando confirma que eles estão em execução.

Utilização otimizada de recursos

Ao empacotar contêineres de forma eficiente em nós com base nos requisitos deles, o Kubernetes otimiza a utilização de recursos. Isso, por sua vez, ajuda a reduzir o desperdício de recursos e a diminuir os custos de infraestrutura.

Gerenciamento simplificado de aplicativos

Simplifica o gerenciamento de aplicativos com o Kubernetes. O Kubernetes oferece uma abordagem uniforme para implantar, atualizar e gerenciar aplicativos de diferentes complexidades.

Portabilidade aprimorada

O Kubernetes é uma plataforma de código aberto que funciona de maneira consistente em diversos ambientes, de data centers no local a nuvens públicas, oferecendo flexibilidade e portabilidade para as empresas.

Resolva seus desafios comerciais com o Google Cloud

Clientes novos recebem US$ 300 em créditos para usar no Google Cloud.
Fale com um especialista em vendas do Google Cloud para discutir seu desafio exclusivo em mais detalhes.

Kubernetes versus Docker

Muitas vezes interpretados como uma escolha entre um ou outro, o Kubernetes e o Docker são tecnologias diferentes, mas complementares, para executar aplicativos conteinerizados. 

O Docker permite colocar tudo o que você precisa para executar o aplicativo em uma caixa que pode ser armazenada e aberta quando e onde for necessário. Depois de começar a encaixotar seus aplicativos, você precisa encontrar uma maneira de gerenciá-los; e é isso que o Kubernetes faz.

Kubernetes é uma palavra grega que significa  ‘"capitão" em inglês. Assim como o capitão é responsável pela jornada segura do navio no mar, o Kubernetes é responsável por transportar e entregar essas caixas em segurança para os locais onde possam ser usadas.

  • O Kubernetes pode ser usado com ou sem o Docker
  • O Docker não é uma alternativa ao Kubernetes. Portanto, não é uma questão de "Kubernetes vs. Docker". Trata-se de usar o Kubernetes com o Docker para armazenar seus aplicativos em contêineres e executá-los em escala
  • A diferença entre o Docker e o Kubernetes está relacionada ao papel que cada um desempenha na conteinerização e na execução de seus aplicativos
  • O Docker é um padrão aberto do setor para empacotar e distribuir aplicativos em contêineres
  • O Kubernetes usa o Docker para implantar, gerenciar e escalonar aplicativos conteinerizados

Casos de uso comuns do Kubernetes

O Kubernetes é usado para criar aplicativos fáceis de gerenciar e implantar em qualquer lugar. Quando disponível como um serviço gerenciado, o Kubernetes oferece uma variedade de soluções para atender às suas necessidades. Veja a seguir alguns casos de uso comuns:

Como aumentar a velocidade de desenvolvimento

O Kubernetes ajuda você a criar aplicativos baseados em microsserviços nativos da nuvem. Ele também suporta a conteinerização de apps existentes, tornando-se assim a base da modernização de aplicativos e permitindo que você desenvolva aplicativos mais rapidamente.

  • Exemplo: uma empresa de serviços financeiros usa o Kubernetes para implantar microsserviços na plataforma de banco on-line, o que permite ciclos de desenvolvimento mais rápidos e escalonabilidade aprimorada.

Como implantar aplicativos em qualquer lugar

O Kubernetes foi desenvolvido para ser usado em qualquer lugar, permitindo que você execute seus aplicativos em implantações no local e em nuvens públicas, bem como em implantações híbridas entre os dois. Assim, você pode executar seus aplicativos onde precisar.

  • Exemplo: uma empresa global de e-commerce usa o Kubernetes para implantar o aplicativo em vários provedores de nuvem, garantindo alta disponibilidade e evitando o bloqueio do fornecedor

Como executar serviços eficientes

O Kubernetes pode ajustar automaticamente o tamanho de um cluster necessário para executar um serviço. Isso permite a você escalonar automaticamente seus aplicativos, para mais e para menos, com base na demanda e executá-los com eficiência.

  • Exemplo: um serviço de streaming de mídia usa o Kubernetes para escalonar automaticamente a infraestrutura de codificação de vídeo com base no número de usuários assistindo conteúdo, otimizando a utilização de recursos e reduzindo custos

Perguntas frequentes

Confira estas perguntas frequentes sobre o Kubernetes

Um cluster do Kubernetes consiste em nós (máquinas virtuais ou físicas) que executam aplicativos conteinerizados orquestrados pelo Kubernetes.

Um pod do Kubernetes, a menor unidade implantável, abriga um ou mais contêineres, representando uma única instância de processo em execução.

Uma implantação do Kubernetes garante o estado desejado do aplicativo gerenciando réplicas e atualizações tranquilas.

Um serviço do Kubernets é um objeto do Kubernetes que fornece um endereço IP estável e um nome DNS para seu aplicativo, permitindo que outros aplicativos acessem ele.

Você pode escalonar seu aplicativo atualizando o número de réplicas na configuração de implantação. O Kubernetes vai criar ou remover pods automaticamente para corresponder à escala desejada.

Vá além

Comece a criar no Google Cloud com US$ 300 em créditos e mais de 20 produtos do programa Sempre gratuito.

Google Cloud