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.
- Você pode se conectar ao cluster do Kubernetes do Nexus do Operador do Azure usando a conexão de cluster e usar a instalação do helm para instalar os gráficos do helm.
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.
- Baixe o modelo do ARM da NF do Repositório de artefatos.
- Confirme se a propriedade
roleOverrideValues
doMicrosoft.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 matrizroleOverrideValues
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
- Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS (Serviço de rede do site)
- Selecione a página Implantações no menu Grupo de Recursos
- 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
Usar o portal do Azure do AOSM para exibir o erro de implantação da NF
- Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS
- Abra a visão geral do SNS e clique no link para a propriedade Resources
- Selecione a página Implantações no menu Grupo de Recursos.
- Selecione o botão de detalhes de erro para a implantação correspondente à implantação da NF com falha
Usar o portal do Azure do AOSM para exibir os parâmetros de implantação da função de rede
- Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS
- Abra a visão geral do SNS e clique no link para a propriedade Resources
- Abra a visão geral da NF e clique no botão Abrir a exibição como JSON para a propriedade Deployment values
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
- Acesse o portal do Azure e abra o Grupo de recursos no qual você implantou o SNS
- Abra a visão geral do SNS e clique no link para a propriedade Resources
- Abra a visão geral da NF e navegue até a página Componentes no menu de recursos.
- Pressione Abrir exibição como JSON para o componente de interesse.
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.