Técnicas para diagnosticar errores de instalación de Helm durante la implementación de la función de red en contenedorizada (CNF) de Azure Operator Service Manager (AOSM)
Las CNF pueden ser tan simples como un único paquete de Helm con un pequeño número de parámetros de configuración, o tan complejas como decenas de paquetes de Helm con miles de parámetros de configuración. En este artículo se describe una serie de pasos comunes de solución de problemas para depurar errores de instalación de Helm.
Confirmación de que el paquete de Helm se instala correctamente mediante comandos directos de Helm
AOSM no puede instalar una CNF que se crea a partir de gráficos de Helm incorrectos o archivos values.yaml
mal configurados. Hay dos requisitos previos fundamentales:
- Cada gráfico de Helm incluido en la CNF debe superar
helm template
cuando se le proporcione el conjunto de valores usados para implementar el gráfico helm install
se debe ejecutar correctamente al ejecutarse directamente en el clúster de Kubernetes conectado a Azure Arc
Pruebe que los gráficos de Helm cumplan estos requisitos previos. Asegúrese de probarlo con los mismos valores de Helm que quiere usar al realizar la implementación desde AOSM.
- Puede conectarse al clúster de Kubernetes de Azure Operator Nexus mediante cluster connect y usar helm install para instalar los gráficos de Helm.
Confirme que la plantilla de ARM de la función de red (NF) tiene --atomic
establecido en false
De manera predeterminada, AOSM quita las instalaciones con errores del clúster para reducir el uso de recursos. Esto evita la depuración detallada en escenarios de error. La plantilla de ARM de NF admite la invalidación de este comportamiento. Use esta guía paso a paso a fin de configurar AOSM para conservar las instalaciones con errores.
Confirme que la plantilla de Azure Resource Manager (ARM) de la función de red (NF) usa la inserción de almacén de artefactos
AOSM admite la incorporación sin intervención manual de gráficos de Helm. Esta característica se configura en la plantilla de ARM de NF y se habilita automáticamente si ha incorporado la CNF mediante la extensión AOSM de la CLI de Az.
- Descargue la plantilla de ARM de NF desde el Almacén de artefactos.
- Confirme que la propiedad
roleOverrideValues
deMicrosoft.HybridNetwork/networkFunctions
contiene el siguiente fragmento de código. En este fragmento de código se usa una CNF ficticia de Contoso creada a partir de tres gráficos de Helm independientes. Estos gráficos de Helm se modelan como tres aplicaciones de función de red en la versión de definición de función de red (NFDV). La plantilla de ARM debe tener un elemento en la matrizroleOverrideValues
para cada aplicación de función de red de la 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\"}}}}}"]
Si la plantilla de ARM no contiene el valor \"injectArtifactStoreDetails\":\"true\"
para cada aplicación de función de red, edite la plantilla de ARM a fin de incluirlo para cada aplicación de función de red en la NFDV y cargue la plantilla de ARM en el Almacén de artefactos.
Uso de Azure Portal de AOSM para ver el error de implementación de SNS
- Acceda a Azure Portal y abra el grupo de recursos en el que ha implementado el servicio de red de sitio (SNS)
- Seleccione la página Implementaciones en el menú Grupo de recursos
- Abra la página de la implementación correspondiente a la implementación de SNS con errores y seleccione el botón detalles de error
Uso de Azure Portal de AOSM para ver el error de implementación de la NF
- Acceda a Azure Portal y abra el grupo de recursos en el que ha implementado el SNS
- Abra la información general de SNS y haga clic en el vínculo a la propiedad Recursos
- Seleccione la página Implementaciones en el menú Grupo de recursos.
- Seleccione el botón detalles de error de la implementación correspondiente a la implementación de NF con errores
Uso de Azure Portal de AOSM para ver los parámetros de implementación de funciones de red
- Acceda a Azure Portal y abra el grupo de recursos en el que ha implementado el SNS
- Abra la información general de SNS y haga clic en el vínculo a la propiedad Recursos
- Abra la información general de NF y haga clic en el botón Abrir vista como JSON para la propiedad Valores de implementación
En esta vista se muestran los valores que se han pasado a la operación de implementación de la NF. Estos valores se incluyen en el comando helm install
que se usa para implementar la NF. Los valores con un formato o una configuración incorrectos, inesperados o ausentes pueden provocar un error en el comando helm install
.
Uso de Azure Portal de AOSM para ver los parámetros de implementación de componentes de funciones de red
- Acceda a Azure Portal y abra el grupo de recursos en el que ha implementado el SNS
- Abra la información general de SNS y haga clic en el vínculo a la propiedad Recursos
- Abra la información general de la NF y vaya a la página Componentes en el menú del recurso.
- Presione Abrir vista como JSON en el componente que le interese.
En esta vista se muestran los valores pasados al gráfico de Helm en el comando helm install
. Cada valor se pasa al comando helm install
mediante --set
. Los valores con un formato o una configuración incorrectos, inesperados o ausentes pueden provocar un error en el comando helm install
.