Erros de provisionamento de extensão de VM em Conjuntos de Dimensionamento de Máquinas Virtuais
Este artigo fornece diretrizes sobre como resolver erros VMExtensionProvisioningError, VMExtensionHandlerNonTransientError ou VMExtensionProvisioningTimeout que aparecem quando você tenta implantar, atualizar, recriar a imagem, iniciar ou dimensionar um Conjunto de Dimensionamento de Máquinas Virtuais.
Observação
No contexto dos Conjuntos de Dimensionamento de Máquinas Virtuais, a "VM" nessas mensagens de erros refere-se a uma instância dentro de um Conjunto de Dimensionamento de Máquinas Virtuais específico.
Sintomas
Você vê erros VMExtensionProvisioningError, VMExtensionHandlerNonTransientError ou VMExtensionProvisioningTimeout , como nos exemplos a seguir:
'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningError\\',\\'message\\':\\'Multiple VM extensions failed to be provisioned on the VM. Please see the VM extension instance view for other failures.
{'status': 'Failed','error': {'code':'VMExtensionHandlerNonTransientError','message': 'The handler for VM extension type 'Microsoft.EnterpriseCloud.Monitoring.OmsAgentForLinux' has reported terminal failure for VM extension 'OmsAgentForLinux' with error message: '[ExtensionOperationError] Non-zero exit code: 10
'statusMessage': '{\\'status\\':\\'Failed\\',\\'error\\':{\\'code\\':\\'ResourceOperationFailure\\',\\'message\\':\\'The resource operation completed with terminal provisioning state 'Failed'.\\',\\'details\\':[{\\'code\\':\\'VMExtensionProvisioningTimeout\\',\\'message\\':\\'Provisioning of VM extension configure-settings has timed out. Extension provisioning has taken too long to complete.
Motivo
Uma extensão de VM está travando ou falhou durante o estado de provisionamento.
Obtenha mais informações sobre falha de extensão
Para começar a resolver esse erro, você deve primeiro determinar quais extensões e instâncias são afetadas. Para fazer isso, execute o seguinte comando da CLI do Azure:
az vmss list-instances --resource-group MyResourceGroup --name MyVmss --query "[].{instanceId:instanceId, extension:resources[].id, extProvisioningState:resources[].provisioningState}"
A saída desse comando exibirá os estados de provisionamento das extensões em cada instância. A saída de exemplo a seguir mostra como essas informações de extensão são agrupadas por ID de instância.
Em cada seção dedicada a uma instância específica, a lista "extProvisioningState" na parte superior exibe os estados de provisionamento das extensões instaladas nessa instância. Esta lista é seguida pela lista "extensão", que exibe os nomes das extensões na mesma ordem correspondente.
Por exemplo, na saída de exemplo a seguir, o primeiro estado de provisionamento nessa instância, "Failed", corresponde à primeira extensão, "customScript". Ao corresponder os estados de provisionamento às extensões listadas, você também pode determinar que, neste exemplo, a segunda e a terceira extensões listadas foram provisionadas com êxito na mesma instância.
Tentar escalar horizontalmente o Conjunto de Dimensionamento de Máquinas Virtuais
Se a extensão não tiver falhado em todas as instâncias, adicione novas instâncias ao Conjunto de Dimensionamento de Máquinas Virtuais e veja se o provisionamento da extensão foi bem-sucedido. Se for bem-sucedido, exclua as instâncias nas quais o provisionamento de extensão falhou.
Ler logs em instâncias afetadas
Para obter mais informações sobre a causa do erro, entre nas instâncias afetadas. Dependendo do sistema operacional do Conjunto de Dimensionamento de Máquinas Virtuais e da extensão afetada, navegue até os logs apropriados e examine o período afetado:
- Conjuntos de Dimensionamento de Máquinas Virtuais do Windows: C:\WindowsAzure\logs\plugins\ExtensionName\Extension.log
- Conjuntos de dimensionamento de máquinas virtuais do Linux: /var/log/plugins/ExtensionName/Extension.log
Verifique se a extensão com falha está seguindo as práticas recomendadas
Se a extensão for personalizável, como CSE (Extensão de Script Personalizado) ou DSC (Configuração de Estado Desejado), verifique se você está seguindo todos os pré-requisitos necessários e as práticas recomendadas recomendadas.
- Práticas recomendadas de extensão de script personalizado
- Pré-requisitos de configuração de estado desejado
Reinstale a extensão
Na folha Extensões do Conjunto de Dimensionamento de Máquinas Virtuais, selecione a extensão com os erros de provisionamento.
Clique em Desinstalar.
Na folha Extensões , clique em Adicionar.
Selecione e reinstale a mesma extensão.
Entre em contato conosco para obter ajuda
Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.