Trace Id is missing
Pular para o conteúdo principal

Estratégia de implantação do Kubernetes

Encontre a estratégia ideal de implantação do Kubernetes para seu aplicativo.

Conheça suas opções de implantação do Kubernetes

Seja para reduzir seu tempo para o mercado, criar implantações resilientes sem tempo de inatividade, lançar aplicativos e recursos com maior rapidez ou frequência ou operar com mais flexibilidade, escolher a estratégia certa de implantação do Kubernetes é fundamental para fornecer um aplicativo e uma infraestrutura resilientes. Cada estratégia de implantação do Kubernetes tem suas vantagens dependendo dos objetivos e das necessidades.

Como as implantações do Kubernetes funcionam

Antes de implementar uma estratégia de implantação do Kubernetes, você precisará entender os componentes dessa implantação e como todos eles funcionam em conjunto.

O que há em uma implantação do Kubernetes

Arquivo YAML

O estado desejado para o cluster do Kubernetes—a configuração dos pods—que você descreve, que serve como base para uma implantação do Kubernetes.

Pods

Os contêineres, os recursos compartilhados e o ambiente de que seu aplicativo ou fluxo de trabalho precisa para ser executado.

ReplicaSet

Grupos de pods com configuração idêntica são chamados de ReplicaSets, que garantem que o tipo e o número de pods descritos no arquivo YAML para uma implantação do Kubernetes estejam em execução a todo momento. Se um pod falhar, um novo pod será criado.

Kube-controller-manager

Altera o estado atual do cluster para que corresponda ao estado desejado descrito no YAML, criando pods e ReplicaSets e atualizando ou removendo os existentes.

Kube-scheduler

Determina como seus pods e ReplicaSets são implantados entre seus nós de trabalho, além de distribuir o tráfego para esses nós.

Distribuição

O processo de reconfigurar o cluster de seu estado atual para o estado desejado – realizado na maioria das vezes sem tempo de inatividade.

Como as distribuições do Kubernetes funcionam

  • Crie um arquivo YAML descrevendo a configuração de estado desejado do cluster.
  • Aplique o arquivo YAML ao cluster usando kubectl, a interface de linha de comando do Kubernetes.
  • O kubectl envia a solicitação ao kube-apiserver, que autentica e autoriza a solicitação antes de gravar a alteração em um banco de dados, o etcd.
  • O kube-controller-manager monitora continuamente o sistema em busca de novas solicitações e trabalha para reconciliar o estado do sistema com o estado desejado—criando ReplicaSets, implantações e pods no processo.
  • Depois que todos os controladores forem executados, o kube-scheduler verá que há pods no estado "pendente" porque eles ainda não foram agendados para execução em um nó. O agendador localiza os nós adequados para os pods e se comunica com o kubelet em cada nó para assumir o controle e iniciar a implantação.
Uma implementação do Kubernetes

Casos de uso das implantações do Kubernetes

Há quatro maneiras de distribuir fluxos de trabalho e aplicativos em contêiner por meio das implantações do Kubernetes. A estratégia de implantação do Kubernetes que você usar poderá empregar mais de um desses casos de uso.

Criar

Implante pods e ReplicaSets do Kubernetes completamente novos.

Atualização

Declare um novo estado desejado e distribua novos pods e ReplicaSets de modo controlado.

Reversão

Reverta a implantação do Kubernetes para um estado anterior – útil caso o estado atual não seja estável.

Escalar

Aumente o número de pods e ReplicaSets na implantação do Kubernetes sem alterá-los.

Estratégias de implantação do Kubernetes

A melhor estratégia de implantação do Kubernetes para seu cenário depende de muitos fatores: quanto tempo de inatividade você consegue administrar (se for o caso), seu ambiente de implantação, o quanto você confia na estabilidade de uma nova versão ou plataforma, se você precisa ou não testar e o que espera aprender, o custo e a disponibilidade de recursos e as metas de negócios. Aqui, temos quatro estratégias de implantação comuns que as organizações usam na produção.

Diagrama de lançamento em rampa

Em rampa

O método de distribuição padrão do Kubernetes é uma implantação em rampa ou dinâmica. Essa implantação substitui lentamente os pods um por vez para evitar tempo de inatividade. Pods antigos são reduzidos verticalmente apenas quando novos pods estiverem prontos. Se sua implantação tiver problemas, você poderá pausar ou cancelar a implantação do Kubernetes sem que o cluster inteiro precise ficar offline.

Diagrama de lançamento azul/verde

Azul/verde

Em uma implantação azul/verde, você lança uma nova versão (azul) de seu aplicativo ou fluxo de trabalho enquanto a versão atual (verde) ainda está em execução. Isso lhe permite testar a versão azul em produção enquanto expõe os usuários apenas à versão verde, que é estável. Após testada, a versão azul substitui gradativamente a versão verde.

Diagrama de lançamento canário

Canário

Permita que seus clientes testem sua implantação do Kubernetes lançando a nova versão para um pequeno grupo deles. Você executará um ReplicaSet da nova versão em conjunto com a versão atual e então, após um período especificado sem erros, escalará verticalmente a nova versão conforme remove a antiga.

Diagrama de teste A/B

Testes de A/B

Muito semelhante à estratégia de implantação canário do Kubernetes, a estratégia de testes de A/B destina-se a um grupo específico de clientes. No entanto, uma implantação de teste de A/B busca estabelecer mais do que apenas a estabilidade de uma versão – ela é usada para testar o quanto a versão é eficiente em termos de cumprir as metas de negócios. A nova versão é distribuída aos usuários com base em fatores como cookies, geolocalização, sistema operacional e tipo de dispositivo, e é frequentemente executada junto com a versão atual—dimensionada à medida que a nova versão prova seu valor.

Ferramentas de implantação do Kubernetes

Embora você possa usar a linha de comando ou arquivos YAML para executar qualquer uma dessas estratégias de implantação do Kubernetes, aproveite melhor seus clusters e implantações implementando ferramentas e serviços de implantação do Kubernetes como estes.

Azure DevOps

Uma cadeia de fornecimento de aplicativos completa para automatizar implantações do Kubernetes. Equilibre velocidade e segurança enquanto fornece código com mais velocidade e em escala.

Helm

Uma ferramenta de empacotamento de software livre. Instale, atualize e gerencie aplicativos Kubernetes usando gráficos que você cria, gerencia versões, compartilha e publica.

Serviço de Kubernetes do Azure (AKS)

Um serviço do Kubernetes altamente disponível, seguro e totalmente gerenciado. Implante e gerencie aplicativos em contêiner na nuvem.

O Kubernetes está pronto para você – experimente-o gratuitamente no Azure