Partilhar via


Como usar o Commit Workflow v2 no Azure Operator Nexus

Este artigo explica como usar o Commit Workflow Versão 2 (Commit V2) no Azure Operator Nexus. Ele ajuda você a preparar alterações com segurança, revisá-las, confirmar as alterações desejadas ou descartar as que não são necessárias em todos os recursos suportados.

Pré-requisitos

  • Versão de tempo de execução: 5.0.1 ou posterior é necessária para o Commit Workflow v2.

  • A versão 8.0.0b3 ou posterior está instalada

  • O Network Fabric deve estar no Provisioned estado e o estado de configuração deve ser Succeeded.

  • A malha e todos os recursos afetados devem ter o estado admin definido como Enabled.

  • Você deve ter o BYOS (Bring Your Own Storage) configurado na malha para usar a etapa de validação opcional.

Visão geral do Commit Workflow v2

A confirmação V2 permite atualizar os recursos suportados em um estado de rascunho, validar alterações de configuração, exibir diferenças de configuração e confirmar ou descartar explicitamente as alterações. Ele garante atomicidade, controle operacional e experiência de usuário aprimorada para operações complexas de malha de rede.

Benefícios do Commit V2

  • Operações de confirmação mais rápidas: reduz o tempo de aplicação de alterações de configuração.

  • Revise a configuração pendente: visualize e valide as diferenças de configuração antes de confirmar.

  • Descartar lote de commits: reverta as alterações preparadas, se necessário.

  • Configuração de bloqueio: impeça alterações conflitantes durante o preparo e a revisão.

  • Base para cenários avançados: Permite a estratégia de confirmação A/B e sessões multiusuário em versões futuras.

Resumo do fluxo de trabalho

O fluxo de trabalho de Commit V2 inclui as seguintes etapas:

  • Atualize os recursos suportados no modo de rascunho usando operações PATCH.

  • Bloqueie a configuração da malha para revisar ou descartar alterações em estágios.

  • Opcionalmente, veja as diferenças de configuração para cada dispositivo.

  • Confirme ou descarte as alterações.

  • Após confirmar/descartar, a malha e todos os recursos relacionados retornam ao estado Provisionado.

Etapa 1: Atualizar recursos no modo de rascunho

Os recursos podem ser atualizados usando operações PATCH que mantêm o recurso em estado de rascunho (ConfigurationState: Accepted) até ser explicitamente confirmado. Essas alterações não são aplicadas ao plano de dados até serem confirmadas.

Cenário de exemplo

  • Criar uma nova Política de Rotas e anexá-la à Rede Interna 1

  • Criar outra Rede Interna 2

Todas essas alterações são agrupadas, mas ainda não aplicadas aos dispositivos.

Etapa 2: Bloquear a configuração da rede

Antes de poder visualizar a comparação de configuração ou descartar o commit, a estrutura deve ser bloqueada no modo de configuração.

Bloqueie a configuração para sinalizar que todas as atualizações pretendidas foram concluídas. Após esse bloqueio, nenhuma atualização adicional pode ser feita em quaisquer recursos relacionados à malha até que você desbloqueie.

Comando da CLI do Azure

az networkfabric fabric lock-fabric \
    --action Lock \
    --lock-type Configuration \
    --network-fabric-name "example-fabric" \
    --resource-group "example-rg"

Observação

Verifique se o estado de configuração da malha é Aceito.
A malha não está em manutenção devido a operações não relacionadas (não comprometidas).
A versão do Network Fabric é >= 5.0.1.
A infraestrutura está no estado de provisionamento: Concluído.

Outra funcionalidade importante que a confirmação V2 fornece é exibir a configuração de confirmação pendente e a última configuração confirmada para cada dispositivo (exceto dispositivos NPB (Network Packet Broker)) para que os usuários possam compará-los para validar a configuração pretendida. Se houver alguma discrepância, os usuários podem desbloquear a infraestrutura de rede, fazer a alteração necessária, bloquear a infraestrutura, rever a confirmação pendente e, em seguida, realizar a operação de confirmação.

Valide a configuração usando a view-device-configuration ação posterior. Esta etapa fornece informações sobre os resultados de configuração esperados.

Importante

A malha deve estar bloqueada no modo de configuração.
O BYOS deve ser configurado na malha de rede.

Comando da CLI do Azure


az networkfabric fabric view-device-configuration \
    --network-fabric-name "example-fabric"\
    --resource-group "example-rg"

Local de diferenças de configuração

Os arquivos de comparação de configuração são armazenados na conta de armazenamento fornecida pelo cliente no seguinte formato:

https://<storageAccountName>.blob.core.windows.net/<NF_name>/CommitOperations/DeviceConfigDiff/<CommitBatchId>

Você pode recuperar o CommitBatchId atual executando uma solicitação GET no recurso Fabric com a versão 2024-06-15-preview da API ou superior.

Etapa 3a: Descartar o lote de confirmação (opcional)

Discard Commit é uma ação POST em NetworkFabric, permitida antes que um commit seja executado. Esta operação permite que um utilizador reverta as alterações feitas nos recursos através de operações PATCH para uma sessão específica de commit. Os usuários podem optar por descartar atualizações de configuração pendentes se forem encontrados problemas durante a validação usando ViewDeviceConfiguration. Esta operação restaura o estado do recurso ARM para sua última configuração válida e redefine o estado da malha de Accepted & Locked para Succeeded.

Observação

Você pode recuperar o CommitBatchId executando uma solicitação GET no recurso de malha com a versão 2024-06-15-preview da API ou superior.

Observação

É recomendável não acionar uma operação de descarte após uma confirmação com falha, pois isso pode levar a configurações inconsistentes entre o Azure Resource Manager (ARM) e o dispositivo. Em alguns casos, uma atualização do dispositivo pode ser necessária para reconciliar o estado de configuração no ARM e no dispositivo.

Importante

Se o recurso Network Fabric estiver associado a uma UAMI (Identidade Gerenciada Atribuída pelo Usuário) — por exemplo, ao usar uma conta de armazenamento gerenciada pelo cliente — você deverá garantir que o provedor de recursos Microsoft.ManagedNetworkFabric tenha a função Operador de Identidade Gerenciada (MIO) no UAMI. Sem essa permissão, a operação de descarte de commit falhará. Esse requisito é aplicável somente quando a malha de rede está vinculada a um UAMI. As arquiteturas de rede que não estão associadas a um UAMI não requerem permissão adicional para descartar compromisso.

az networkfabric fabric discard-commit-batch \
  --resource-group "example-rg" \
  --network-fabric-name "example-fabric"
  --commit-batch-id "example-commit-batch-id"

Observação

Os recursos de rede interna/externa são movidos para Estado de administrador: Desativado e Estado de configuração: Rejeitado.
Os recursos não são excluídos, o usuário deve excluí-los manualmente, se necessário.
A manipulação do Monitor de Rede inclui restrições adicionais (monitores desativados revertem para o estado rejeitado).

Precisa fazer mais atualizações?

Desbloqueie a configuração para fazer mais alterações e, em seguida, repita as etapas de bloqueio/validação/confirmação.

Exemplo de desbloqueio

az networkfabric fabric lock-fabric \
    --action Unlock \
    --lock-type Configuration \
    --network-fabric-name "example-fabric" \
    --resource-group "example-rg"

Etapa 4: Confirmar configuração (obrigatório)

Confirme a configuração para aplicar as alterações em lote a todos os dispositivos de malha relevantes.

Comando da CLI do Azure

az networkfabric fabric commit-configuration \
  --resource-group "example-rg" \
  --resource-name "example-fabric"
  • A operação retorna um status: Succeeded, InProgressou Failed

  • Usar sondagem da CLI ou logs de atividade do Azure para monitorar o progresso

Importante

  • Esse fluxo de trabalho se aplica somente quando a malha está no estado Provisionado e oestado admin está Habilitado.
  • O bloqueio é obrigatório antes do commit; O commit não pode prosseguir sem bloquear primeiro.
  • A reversão não é suportada – qualquer configuração incorreta deve ser atualizada e confirmada novamente.
  • Atualizações fora desse fluxo de trabalho (por exemplo, para tags ou recursos desconectados) não exigem confirmação.