Compartilhar via


Técnicas para solucionar problemas de falhas de instalação do helm durante a implantação da CNF (Função de rede em contêiner) do AOSM (Gerenciador de Serviço do Operador do Azure)

As CNFs podem ser tão simples quanto um único pacote do helm com um pequeno número de parâmetros de configuração ou tão complexos quanto dezenas de pacotes do helm com milhares de parâmetros de configuração. Este artigo descreve uma série de etapas comuns de solução de problemas para depurar falhas de instalação do helm.

Confirme se o pacote do helm está instalado corretamente usando comandos do helm direto

O AOSM não pode instalar uma CNF criada a partir de gráficos incorretos do helm ou de arquivos values.yaml configurados incorretamente. Há dois pré-requisitos fundamentais:

  • Cada gráfico do helm incluído na CNF deve passar helm template quando fornecido com o conjunto de valores usados para implantar o gráfico
  • A helm install deve ter êxito quando executada diretamente no cluster Kubernetes conectado ao Azure Arc

Teste se seus gráficos do helm atendem a esses pré-requisitos. Lembre-se de testar com os mesmos valores do helm que você pretende usar ao fazer a implantação por meio do AOSM.

Confirme se o --atomic do modelo do ARM da função de rede (NF) está definido como false

Por padrão, o AOSM remove as instalações com falha do cluster para reduzir o uso de recursos. Isso impede a depuração detalhada em cenários de falha. O modelo do ARM da NF dá suporte à substituição desse comportamento. Use este guia de instruções para configurar o AOSM para deixar as instalações com falha no local.

Confirme se o modelo do ARM (Azure Resource Manager) da função de rede (NF) usa a injeção de repositório de artefatos

O AOSM dá suporte à integração de toque zero de gráficos do helm. Esse recurso é configurado no modelo do ARM da NF e é habilitado automaticamente caso você tenha integrado a CNF usando a extensão do AOSM da CLI do Az.

  1. Baixe o modelo do ARM da NF do Repositório de artefatos.
  2. Confirme se a propriedade roleOverrideValues do Microsoft.HybridNetwork/networkFunctions contém o snippet a seguir. Esse snippet usa uma CNF da Contoso fictícia criada a partir de três gráficos independentes do helm. Esses gráficos do helm são modelados como três aplicativos de função de rede na NFDV (Versão de definição de função de rede). O modelo do ARM deve ter um elemento na matriz roleOverrideValues para cada aplicativo de função de rede na NFDV.
roleOverrideValues: ["{\"name\": \"Contoso-one\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}},{\"name\": \"Contoso-two\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}},{\"name\": \"Contoso-three\", \"deployParametersMappingRuleProfile\": {\"applicationEnablement\": \"Enabled\", \"helmMappingRuleProfile\": {\"options\": {\"installOptions\": {\"injectArtifactStoreDetails\":\"true\"}},{\"upgradeOptions\": {\"injectArtifactStoreDetails\":\"true\"}}}}}"]

Se o modelo do ARM não contiver a configuração \"injectArtifactStoreDetails\":\"true\" de cada aplicativo de função de rede, edite o modelo do ARM para incluir a configuração de cada aplicativo de função de rede em sua NFDV e carregue o modelo do ARM no Repositório de artefatos.

Usar o portal do Azure do AOSM para exibir o erro de implantação do SNS

  1. Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS (Serviço de rede do site)
  2. Selecione a página Implantações no menu Grupo de Recursos
  3. Abra a página de implantação da implantação correspondente à implantação do SNS com falha e selecione o botão de detalhes do erro Captura de tela mostrando os detalhes do erro em uma implantação do Serviço de rede do site com falha.

Usar o portal do Azure do AOSM para exibir o erro de implantação da NF

  1. Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS
  2. Abra a visão geral do SNS e clique no link para a propriedade Resources Captura de tela mostrando o grupo de recursos hospedado implantado por um Serviço de rede do site.
  3. Selecione a página Implantações no menu Grupo de Recursos.
  4. Selecione o botão de detalhes de erro para a implantação correspondente à implantação da NF com falha Captura de tela mostrando os detalhes do erro em uma implantação da Função de rede com falha.

Usar o portal do Azure do AOSM para exibir os parâmetros de implantação da função de rede

  1. Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS
  2. Abra a visão geral do SNS e clique no link para a propriedade Resources Captura de tela mostrando o grupo de recursos hospedado implantado por um Serviço de rede do site.
  3. Abra a visão geral da NF e clique no botão Abrir a exibição como JSON para a propriedade Deployment values Captura de tela mostrando os valores passados para a implantação da função de rede.

Essa exibição mostra os valores que foram passados para a operação de implantação da NF. Esses valores são incluídos no comando helm install usado para implantar a NF. Valores configurados incorretamente, inesperados, ausentes ou formatados incorretamente podem fazer com que o comando helm install falhe.

Usar o portal do Azure do AOSM para exibir os parâmetros de implantação do componente da função de rede

  1. Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS
  2. Abra a visão geral do SNS e clique no link para a propriedade Resources Captura de tela mostrando o grupo de recursos hospedado implantado por um Serviço de rede do site.
  3. Abra a visão geral da NF e navegue até a página Componentes no menu de recursos.
  4. Pressione Abrir exibição como JSON para o componente de interesse. Captura de tela mostrando os valores passados para o comando de instalação do helm.

Essa exibição mostra os valores passados para o gráfico do helm no comando helm install. Cada valor é passado para o comando helm install usando --set. Valores configurados incorretamente, inesperados, ausentes ou formatados incorretamente podem fazer com que o comando helm install falhe.