Implantação segura de servidores com teste canário
(engineering.vcnc.co.kr)-
Relato de experiência de implantação canário em ambiente Kubernetes, escrito por Taeho Kim, da VCNC, empresa que opera o Tada.
-
O nome implantação canário vem da prática de mineiros levarem canários em gaiolas para detectar vazamento de gás nas minas de carvão.
-
Ao elevar a versão major do Spring Boot, as versões das bibliotecas das quais ele depende também acabam sendo alteradas à força; por isso, foi tentada uma implantação canário para minimizar problemas de desempenho ou falhas não testadas que possam surgir daí.
-
As implantações são feitas no Kubernetes usando o gerenciador de pacotes Helm; a unidade de pacote do Helm é chamada de "chart", e ao instalar um chart em um cluster Kubernetes, é criada uma release.
-
Foi criado um chart/release para o canário e adicionadas anotações ao controlador Ingress para configurar que apenas uma proporção definida das requisições fosse para o Ingress canário.
Tarefas futuras
-
Quando ocorre um problema na release canário, é difícil identificar se a causa vem das mudanças do canário ou de um problema que já existia; por isso, é necessário um método de subir um grupo de controle na mesma proporção e comparar as métricas.
-
Como uma parte das requisições é enviada ao canário independentemente do usuário, mesmo que haja problema no canário, ao repetir a requisição a versão existente pode acabar processando com sucesso; porém, no panorama geral, a proporção de usuários que experimentam os problemas do canário pode aumentar. Portanto, se o roteamento para o canário for feito por grupo de usuários (como no tratamento sticky do LB), parece que será possível ter mais controle.
Ainda não há comentários.