Como fazer a implantação verde azul de Kubernetes

Como fazer a implantação verde azul de Kubernetes
Neste artigo, falaremos sobre as implantações azul-esverdeadas de Kubernetes e por que usá-las é a melhor escolha. Kubernetes é sem dúvida a plataforma ideal para implantações azul-esverdeadas. Por exemplo, poderíamos usar a plataforma para implantar o aplicativo, mudar o tráfego do usuário e depois excluir o ambiente azul depois de criar dinamicamente o verde. Podemos usar o Kubernetes para gerenciar todo o processo azul-esverdeado com apenas uma ferramenta. Kubernetes aumentou significativamente a padronização, mas seu ambiente dinâmico requer adaptação contínua. Então, vamos começar discutindo como o Kubernetes é usado para criar implantações.

Estratégia de implantação verde azul em Kubernetes

Também é conhecido como um método de implantação de "tempo de inatividade zero" porque, nesse tipo de processo, o K8S produz um novo pod em um novo ambiente ao lado de uma implantação existente, em vez de excluir ou substituir uma vagem existente.

Essa abordagem de implantação permite a operação simultânea de dois ambientes de produção idênticos. Um é o ambiente de produção que está atualmente em uso. Ele recebe todo o tráfego de usuário indicado como azul. Seu clone no outro ambiente é vago (verde). A configuração do aplicativo é usada por ambos.

A nova versão do aplicativo é configurada em um ambiente verde e posta à prova em termos de desempenho e funcionalidade. O tráfego de aplicativos é desviado de azul para verde após os resultados dos testes são bem -sucedidos. A nova produção é então verde.

Qual é o processo de implantação verde azul em Kubernetes?

Em Kubernetes, o processo de implantação verde azul é o seguinte:

  1. A cor indica a versão atual do aplicativo (e.g azul)
  2. Novos pods são usados ​​para a implantação e são rotulados na nova cor (i.e., verde)
  3. Embora ambas as versões estejam disponíveis simultaneamente, o serviço Kubernetes ainda está apontando para a versão mais antiga/azul, portanto, nem todos os usuários do sistema ainda foram informados da mudança.
  4. Na nova versão, muitos testes podem ser realizados sem afetar os clientes atuais.
  5. O serviço Kubernetes é alterado e agora aponta para a nova versão após um período definido pelo usuário. Agora, o novo recurso está disponível para todos os usuários ativos sem interrupções.

Vamos examinar o processo completo de implantação azul-esverdeado com mais detalhes. Imagine que estamos atualmente usando a versão 1 de um programa, que é exibido em azul. Usamos implantações e pods para executar aplicativos em Kubernetes. Na figura abaixo, você pode ver a implantação azul em que a “versão 1” é usada. 'Pod 1', 'Pod 2' e 'Pod 3' também podem ser vistos dentro da implantação.

A versão a seguir, designada “versão 2”, é então preparada para uso. Portanto, estamos desenvolvendo um cenário de produção novo chamado Green (veja a Figura abaixo).

Em Kubernetes, ao que parece, simplesmente precisamos especificar uma nova implantação; A plataforma faz o resto. Devido à operação normal contínua do ambiente azul, os usuários ainda desconhecem a alteração. Eles não notarão nenhuma alteração até girarmos o tráfego azul para verde.

Somente os desenvolvedores que gostam de correr riscos são conhecidos por testar em produção. Mas neste lugar, qualquer um pode fazer isso sem tomar nenhum perigo. No mesmo cluster de Kubernetes que Blue, podemos testar verde em nossa conveniência.

A versão 1 está no modo de espera, como mostrado abaixo. Considerando que a versão 2 é ativa no verde. Veja a figura abaixo para entender melhor este conceito. Aqui, você pode ver que a implantação verde é colocada para trabalhar agora. Todos os recursos usados ​​pela implantação azul agora são usados ​​pela implantação verde. Você pode ver que nada está acontecendo na implantação azul.

Uma vez que os usuários fossem trocados de azul para verde e estamos satisfeitos com o resultado, podemos excluir o azul para liberar recursos. Na figura abaixo, você só pode ver a implantação verde trabalhando com sucesso.

As implantações azul-esverdeadas são difíceis, como você pode esperar. Temos que gerenciar a rede enquanto faz malabarismos com duas implantações de uma só vez. Felizmente, Kubernetes simplifica bastante o processo. No entanto, devemos fazer todos os esforços para automatizar o ciclo de liberação.

Atualização Implantação verde azul

Leva mais tempo para terminar uma implantação verde-azulada do que uma atualização comum. Isso ocorre porque tivemos que configurar os novos clusters e reinstalar todos os nossos aplicativos; e mais financiamento é necessário para atualizações. Como resultado, onde é viável, favorecemos uma atualização padrão. O método de implantação azul-esverdeado pode ser usado para atualizar algumas versões ou aumentar nossa confiança nas atualizações que incluem ruptura de mudanças. Devemos analisar cuidadosamente todos os changelogs dos componentes que serão atualizados para determinar se existem mudanças de ruptura.

Vantagens do uso de implantações azul-esverdeadas

Ao implantar para a produção, empregar essa estratégia tem muitas vantagens.

Menos tempo de inatividade

Antes de um sistema ficar online, as implantações sempre exigem algum tempo. O Blue Green nos dá a capacidade de implantar para a produção e o tráfego direto para a nova implantação quando estiver operacional e ao vivo. Como resultado, não haverá tempo de inatividade para os usuários.

Reversão imediata

Se o ambiente azul nesse cenário for o defeituoso, podemos redirecionar todo o nosso tráfego para o ambiente verde, que terá a versão estável mais recente. Também podemos permitir que nossos desenvolvedores resolvam quaisquer falhas no lançamento mais recente. Depois que o bug for reparado, o tráfego será novamente redirecionado e outra implantação será feita de volta ao azul.

Não afetar os usuários

Seu usuário nem estará ciente de que uma implantação falhou se o fizer.

Conclusão

As implantações são uma das fases mais cruciais do ciclo de vida do desenvolvimento de software; portanto, todas as atividades envolvidas nelas precisam ser cuidadosamente consideradas e testadas para garantir que seja o ajuste ideal para a arquitetura e operações do nosso sistema. Temos especialmente as implantações verdes azuis nesta postagem. Um dos métodos potenciais para implantar um aplicativo para a produção é este. Como qualquer outra abordagem, ela tem desvantagens próprias. Discutimos o tópico referido em detalhes e representação gráfica para ajudá -lo a entender melhor.