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

O que é o Kubernetes?

O Kubernetes, geralmente abreviado como “K8s”, orquestra os aplicativos em contêineres para execução em um cluster de hosts. O sistema K8s automatiza a implantação e o gerenciamento de aplicativos nativos da nuvem usando a infraestrutura local ou plataformas de nuvem pública. Ele distribui cargas de trabalho de aplicativos em um cluster do Kubernetes e automatiza as necessidades dinâmicas da rede de contêineres. O Kubernetes também aloca armazenamento e volumes persistentes para contêineres em execução, fornece dimensionamento automático e trabalha continuamente para manter o estado desejado dos aplicativos, proporcionando resiliência.

Veja como as empresas estão usando o Kubernetes para ajudar a criar, implantar e executar aplicativos modernos em escala.

Kubernetes em 5 minutos

O estado do Kubernetes 2022

Recursos do Kubernetes

O Kubernetes tem muitos recursos que ajudam a orquestrar contêineres em vários hosts, automatizar o gerenciamento de clusters do K8s e usar melhor a infraestrutura para maximizar a utilização de recursos. Os recursos importantes incluem:

  • Dimensionamento automático. Dimensione os aplicativos em contêineres e seus recursos automaticamente com base no uso
  • Gerenciamento do ciclo de vida. Automatize implantações e atualizações, incluindo:
    • Reverter para versões anteriores
    • Pausar e continuar uma implantação
  • Modelo declarativo. Declare o estado desejado; o K8s opera em segundo plano para manter esse estado e se recuperar de falhas
  • Resiliência e autocorreção. Os recursos automáticos de posicionamento, reinício, replicação e dimensionamento permitem a autocorreção do aplicativo
  • Armazenamento persistente. Capacidade de montar e adicionar armazenamento dinamicamente
  • Balanceamento de carga. O Kubernetes oferece suporte a uma variedade de opções de balanceamento de carga internas e externas para atender a diversas necessidades
  • Suporte a DevSecOps. DevSecOps é uma abordagem avançada de segurança que simplifica e automatiza as operações de contêineres nas nuvens, integra a segurança em todo o ciclo de vida do contêiner e permite que as equipes entreguem aos clientes software de alta qualidade em pouco tempo. A combinação das práticas de DevSecOps e do Kubernetes melhora a produtividade dos desenvolvedores.

A arquitetura de Kubernetes e como ela funciona

Os contêineres encapsulam um aplicativo de forma móvel e fácil de implantar. A arquitetura do Kubernetes foi projetada para executar aplicativos em contêineres. Um cluster do Kubernetes consiste em pelo menos uma camada de controle e no mínimo um nó de trabalho (normalmente um servidor físico ou virtual). A camada de controle tem duas responsabilidades principais. Ela expõe a API Kubernetes pelo servidor de API e gerencia os nós que compõem o cluster. A camada de controle toma decisões sobre o gerenciamento, além de detectar e responder a eventos dos clusters.

A menor unidade de execução de um aplicativo em execução no Kubernetes é o pod de Kubernetes, que é composto por um ou mais contêineres. Os pods de Kubernetes são executados em nós de trabalho.

Terminologia adicional do Kubernetes

É importante saber os nomes e as funções dos principais componentes do K8s que fazem parte da camada de controle ou que são executados nos nós do Kubernetes.

Kubernetes Terminology

A camada de controle tem quatro componentes principais usados para controlar as comunicações, gerenciar os nós e acompanhar o estado de um cluster do Kubernetes.

  • Kube-apiserver. Como o próprio nome sugere, o kube-apiserver expõe a API do Kubernetes.
  • etcd. Um repositório de chave-valor em que todos os dados relacionados ao cluster do Kubernetes são armazenados.
  • Kube-scheduler. Monitora novos pods do Kubernetes sem nós atribuídos e os encaminha a um nó para execução de acordo com recursos, políticas e especificações de "afinidade".
  • Kube-controller-manager. Todas as funções do controlador da camada de controle são compiladas em um único binário: kube-controller-manager.

Um nó de K8s tem três componentes principais:

  • Kubelet. Um agente que garante que os contêineres necessários estejam em execução em um pod de Kubernetes.
  • Kube-proxy. Um proxy de rede executado em cada nó de um cluster para manter as regras de rede e permitir a comunicação.
  • Ambiente de execução do contêiner. O software responsável por executar contêineres. O Kubernetes oferece suporte a qualquer ambiente de execução que esteja de acordo com a Container Runtime Interface (CRI) do Kubernetes.

Outros termos a serem considerados incluem:

  • Serviço de Kubernetes. Um serviço de Kubernetes é uma abstração lógica para um grupo de pods de Kubernetes que executam a mesma função. Os serviços do Kubernetes recebem endereços exclusivos que permanecem os mesmos, até enquanto as instâncias de pod vão e vêm.
  • Controlador. Os controladores asseguram que o estado de execução atual do cluster de Kubernetes seja o mais próximo possível do desejado.
  • Operador. Os operadores do Kubernetes permitem que você encapsule o conhecimento específico do domínio para um aplicativo de modo semelhante a um manual de operações. Ao automatizar tarefas específicas de aplicativos, os operadores permitem que você implante e gerencie aplicativos no K8s com mais facilidade.

Vantagens do Kubernetes

A plataforma Kubernetes ficou popular porque oferece uma série de vantagens importantes:

  • Portabilidade. Os contêineres são portáveis em diversos ambientes, desde virtuais até bare metal. O Kubernetes é compatível com todas as principais nuvens públicas. Por isso, você pode executar aplicativos em contêineres no K8s em muitos ambientes diferentes.
  • Integração e extensibilidade. O Kubernetes pode ser estendido para trabalhar com as soluções em que você já confia, como serviços de registro em log, monitoramento e alerta. A comunidade do Kubernetes está trabalhando em diversas soluções de código aberto complementares para o Kubernetes, criando um ecossistema variado cada vez mais amplo.
  • Eficiência de custo. A otimização de recursos inerentes ao Kubernetes, o dimensionamento automatizado e a flexibilidade para executar cargas de trabalho onde elas fornecem mais valor permitem manter seus gastos de TI sob controle.
  • Dimensionamento. Os aplicativos nativos da nuvem são dimensionados horizontalmente. O Kubernetes usa o dimensionamento automático, ativando outras instâncias de contêineres e adicionando recursos de acordo com a demanda.
  • API como base. A malha fundamental do Kubernetes é a API REST. Tudo no ambiente de Kubernetes pode ser controlado com programação.
  • CI/CD simplificada. A CI/CD é uma prática de DevOps que automatiza a criação, o teste e a implantação de aplicativos em ambientes de produção. As empresas estão integrando Kubernetes e CI/CD para criar pipelines de CI/CD dimensionáveis que se adaptam dinamicamente à carga.

O que é orquestração de contêineres?

A orquestração de contêineres automatiza a maioria das tarefas necessárias para executar cargas de trabalho e serviços em contêineres, incluindo as operações que são essenciais para o ciclo de vida do contêiner de Kubernetes: aprovisionamento, implantação, dimensionamento, rede e balanceamento de carga.

Kubernetes x Docker

Docker é uma plataforma de software usada para criar aplicativos em contêineres. O K8s automatiza o processo de execução de aplicativos em contêineres nativos da nuvem criados com o Docker ou outras ferramentas. As empresas costumam usar o Docker e o Kubernetes juntos.

Soluções e produtos relacionados

Tanzu Kubernetes Grid

Gerenciamento de Kubernetes pronto para empresas

Tanzu Community Edition

Coloque o VMware Tanzu em funcionamento gratuitamente e em questão de minutos na sua estação de trabalho local ou na nuvem

Tanzu Application Platform

Crie, implante e gerencie aplicativos em uma plataforma Kubernetes