O componente ack-onepilot atualiza automaticamente os agentes do Application Real-Time Monitoring Service (ARMS) em clusters Kubernetes. Para validar uma nova versão do agente antes de uma implantação ampla ou manter uma versão específica por estabilidade, fixe o agente em uma versão definida em vez de aceitar atualizações automáticas.
Escolha um método conforme a versão do ack-onepilot no cluster:
|
Tarefa |
Método |
Versão do ack-onepilot |
|
Fixar uma versão específica do agente (autoatendimento) |
V3.0.17 ou posterior |
|
|
Implantar uma versão primeiro em um subconjunto de instâncias |
V3.3.0 ou posterior |
|
|
Fixar uma versão quando o autoatendimento não estiver disponível |
Anterior à V3.0.17 |
Especifique uma versão do agente
Requisito: ack-onepilot V3.0.17 ou posterior. Para verificar a versão, acesse o Container Service Management Console, clique em Add-ons, localize o ack-onepilot e verifique sua versão. Se houver uma atualização disponível, clique em Upgrade.

Esta é a abordagem recomendada para controlar versões de agentes. Há três métodos disponíveis. Caso utilize o Método 1 junto com o Método 2, ou o Método 1 junto com o Método 3, a versão especificada pelo Método 2 ou Método 3 terá prioridade sobre o Método 1.
Etapa 1: Encontre a versão alvo do agente
Faça logon no ARMS console.
No painel de navegação à esquerda, escolha .
-
Anote o número da versão a ser usado. Selecione a versão estável mais recente, a menos que o ambiente exija uma versão específica.

Na aba Agent Online Status, registre a versão atual do agente de cada aplicação. Essa versão servirá como alvo de rollback caso ocorram problemas.
Etapa 2: Aplique a versão
Escolha um dos métodos abaixo.
Método 1: Rótulo YAML
Adicione o rótulo aliyun.com/agent-version ao arquivo YAML da aplicação:
metadata:
labels:
aliyun.com/agent-version: "<agent-version>"
Substitua <agent-version> pelo número da versão obtido na Etapa 1.
Após salvar o arquivo e clicar em Update, a aplicação reinicia automaticamente para aplicar a versão especificada.

Este rótulo se aplica apenas à aplicação atual. Repita esta etapa para cada aplicação que exigir fixação de versão.
Método 2: Console EDAS
Ao implantar uma aplicação em um cluster Kubernetes por meio do console Enterprise Distributed Application Service (EDAS), especifique a versão do agente na seção Monitoring and Governance Configurations na aba Advanced Settings.
Para ajustar as versões de agente disponíveis no EDAS, entre em contato com o suporte técnico do EDAS.
Método 3: API EDAS
Ao criar ou implantar uma aplicação por meio da API EDAS, defina o parâmetro CustomAgentVersion na operação InsertK8sApplication ou DeployK8sApplication.
Etapa 3: Verifique e implante
Aplique a versão primeiro em uma aplicação de teste.
Valide se a aplicação executa conforme esperado com a nova versão do agente.
Após a validação bem-sucedida, repita a Etapa 2 para as aplicações restantes.
Se a nova versão do agente causar problemas, altere o rótulo ou parâmetro de volta para a versão anterior registrada na Etapa 1 para fazer o rollback.
Ative a atualização progressiva
Requisito: ack-onepilot V3.3.0 ou posterior. A carga de trabalho da aplicação deve ter três ou mais réplicas.
A atualização progressiva permite validar uma nova versão do agente em um pequeno subconjunto de instâncias antes que ela atinja toda a carga de trabalho.
Adicione ambos os rótulos ao YAML da aplicação:
metadata:
labels:
aliyun.com/agent-version: "<agent-version>"
aliyun.com/enable-progressive-update: "true"
Ao reimplantar uma carga de trabalho Deployment ou StatefulSet em um cluster ACK com a atualização progressiva ativada, apenas uma ou duas instâncias recebem a versão especificada do agente. As instâncias restantes mantêm a versão atual.
Limitações
A atualização progressiva requer pelo menos três réplicas. Se a carga de trabalho tiver menos de três réplicas, nenhuma instância será atualizada para a versão especificada, mesmo que o rótulo esteja definido. Nesse caso, não ative a atualização progressiva para a carga de trabalho.
Esse recurso aplica-se apenas a cargas de trabalho Deployment e StatefulSet.
Entre em contato com o suporte técnico para fixar uma versão
Utilize este método se o ack-onepilot for anterior à V3.0.17 ou se o ambiente exigir modificações manuais no YAML. Essa abordagem usa bloqueio de versão para migrar agentes de versões obsoletas ou sem suporte para a mais recente.
Selecione uma aplicação de teste. Entre em contato com o suporte técnico do ARMS para bloquear o agente na versão alvo.
Reinicie a aplicação de teste e valide a nova versão do agente.
Após a validação bem-sucedida, entre em contato com o suporte técnico do ARMS para atualizar a versão bloqueada nos clusters restantes em lotes.
Reinicie as aplicações em cada lote para aplicar a atualização.
Melhores práticas
Valide antes da implantação ampla: Fixe a nova versão em uma única aplicação de teste primeiro. Confirme a operação normal antes de atualizar as aplicações restantes.
Use atualização progressiva para cargas de trabalho de produção: Para cargas de trabalho com três ou mais réplicas, ative a atualização progressiva para limitar o raio de impacto durante mudanças de versão.
Registre as versões atuais antes das alterações: Antes de fixar uma nova versão, anote a versão atual do agente na aba Agent Online Status para possibilitar um rollback rápido.
Mantenha o ack-onepilot atualizado: Atualize o ack-onepilot para V3.0.17 ou posterior para acessar a fixação de versão por autoatendimento, ou para V3.3.0 ou posterior para usar a atualização progressiva, sem depender do suporte técnico.