Problembehandlungstechniken für Fehler bei der Installation von Helm während der Bereitstellung von Containernetzwerkfunktionen (Containerized Network Functions, CNFs) von Azure Operator Service Manager (AOSM)
CNFs können so einfach wie ein einzelnes Helm-Paket mit einer geringen Anzahl von Konfigurationsparametern oder so komplex wie mehrere Dutzend Helm-Pakete mit Tausenden von Konfigurationsparametern sein. In diesem Artikel wird eine Reihe allgemeiner Problembehandlungsschritte zum Debuggen von Fehlern bei der Helm-Installation beschrieben.
Überprüfen der ordnungsgemäßen Installation des Helm-Pakets mithilfe direkter Helm-Befehle
AOSM kann keine CNF installieren, die auf falschen Helm-Charts oder auf falsch konfigurierten Dateien vom Typ values.yaml
basiert. Es gibt zwei grundlegende Voraussetzungen:
- Jedes in der CNF enthaltene Helm-Chart muss
helm template
übergeben, wenn es mit dem Satz von Werten bereitgestellt wird, die zum Bereitstellen des Charts verwendet werden. helm install
muss erfolgreich sein, wenn der Befehl direkt für den mit Azure Arc verbundenen Kubernetes-Cluster ausgeführt wird.
Testen Sie, ob Ihre Helm-Charts diese Voraussetzungen erfüllen. Führen Sie den Test mit den gleichen Helm-Werten durch, die Sie auch bei der Bereitstellung über AOSM verwenden möchten.
- Sie können mithilfe von cluster connect eine Verbindung mit Ihrem Azure Operator Nexus-Kubernetes-Cluster herstellen und helm install verwenden, um Ihre Helm-Charts zu installieren.
Vergewissern, dass --atomic
in der ARM-Vorlage Ihrer Netzwerkfunktion (NF) auf „false“ festgelegt ist
Fehlerhafte Installationen werden von AOSM standardmäßig aus dem Cluster entfernt, um die Ressourcenauslastung zu verringern. Dies verhindert ausführliches Debuggen in Fehlerszenarien. Die NF-ARM-Vorlage unterstützt die Außerkraftsetzung dieses Verhaltens. Gehen Sie gemäß dieser Schrittanleitung vor, um AOSM so zu konfigurieren, dass nicht erfolgreiche Installationen erhalten bleiben.
Vergewissern, dass Ihre ARM-Vorlage (Azure Resource Manager) für die Netzwerkfunktion (NF) Artefaktspeichereinfügungen verwendet
AOSM unterstützt das Onboarding von Helm-Charts ganz ohne manuelles Eingreifen. Dieses Feature ist in der NF-ARM-Vorlage konfiguriert und automatisch aktiviert, wenn Sie die CNF mithilfe der AOSM-Erweiterung der Azure CLI integriert haben.
- Laden Sie die NF-ARM-Vorlage aus dem Artefaktspeicher herunter.
- Vergewissern Sie sich, dass die Eigenschaft
roleOverrideValues
vonMicrosoft.HybridNetwork/networkFunctions
den unten angegebenen Codeausschnitt enthält. In diesem Codeschnipsel wird eine fiktive Contoso-CNF verwendet, die aus drei unabhängigen Helm-Charts erstellt wurde. Diese Helm-Charts werden als drei Netzwerkfunktionsanwendungen in der Version der Netzwerkfunktionsdefinition (Network Function Definition Version, NFDV) modelliert. Ihre ARM-Vorlage muss für jede Netzwerkfunktionsanwendung in der NFDV über ein Element imroleOverrideValues
-Array verfügen.
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\"}}}}}"]
Wenn die ARM-Vorlage nicht die Einstellung \"injectArtifactStoreDetails\":\"true\"
für die einzelnen Netzwerkfunktionsanwendungen enthält, bearbeiten Sie die ARM-Vorlage, um die Einstellung für jede Netzwerkfunktionsanwendung in Ihrer NFDV einzuschließen, und laden Sie die ARM-Vorlage in den Artefaktspeicher hoch.
Verwenden des AOSM-Azure-Portals zum Anzeigen des SNS-Bereitstellungsfehlers
- Greifen Sie auf das Azure-Portal zu, und öffnen Sie die Ressourcengruppe, in der Sie den Standortnetzwerkdienst (Site Network Service, SNS) bereitgestellt haben.
- Wählen Sie über das Menü „Ressourcengruppe“ die Seite Bereitstellungen aus.
- Öffnen Sie die Bereitstellungsseite für die Bereitstellung, die Ihrer nicht erfolgreichen SNS-Bereitstellung entspricht, und wählen Sie die Schaltfläche Fehlerdetails aus.
Verwenden des AOSM-Azure-Portals zum Anzeigen des NF-Bereitstellungsfehlers
- Greifen Sie auf das Azure-Portal zu, und öffnen Sie die Ressourcengruppe, in der Sie den Standortnetzwerkdienst bereitgestellt haben.
- Öffnen Sie die SNS-Übersicht, und klicken Sie auf den Link für die Eigenschaft Ressourcen.
- Wählen Sie über das Menü „Ressourcengruppe“ die Seite Bereitstellungen aus.
- Wählen Sie die Schaltfläche Fehlerdetails für die Bereitstellung aus, die Ihrer nicht erfolgreichen NF-Bereitstellung entspricht.
Verwenden des AOSM-Azure-Portals zum Anzeigen der Bereitstellungsparameter der Netzwerkfunktion
- Greifen Sie auf das Azure-Portal zu, und öffnen Sie die Ressourcengruppe, in der Sie den Standortnetzwerkdienst bereitgestellt haben.
- Öffnen Sie die SNS-Übersicht, und klicken Sie auf den Link für die Eigenschaft Ressourcen.
- Öffnen Sie die NF-Übersicht, und klicken Sie für die Eigenschaft Bereitstellungswerte auf die Schaltfläche Ansicht als JSON öffnen.
In dieser Ansicht werden die Werte angezeigt, die an den NF-Bereitstellungsvorgang übergeben wurden. Diese Werte sind im helm install
-Befehl enthalten, der zum Bereitstellen des NF verwendet wurde. Falsch konfigurierte, unerwartete, fehlende oder falsch formatierte Werte können dazu führen, dass der Befehl helm install
nicht erfolgreich ist.
Verwenden des AOSM-Azure-Portals zum Anzeigen der Komponentenbereitstellungsparameter der Netzwerkfunktion
- Greifen Sie auf das Azure-Portal zu, und öffnen Sie die Ressourcengruppe, in der Sie den Standortnetzwerkdienst bereitgestellt haben.
- Öffnen Sie die SNS-Übersicht, und klicken Sie auf den Link für die Eigenschaft Ressourcen.
- Öffnen Sie die NF-Übersicht, und navigieren Sie über das Ressourcenmenü zur Seite Komponenten.
- Wählen Sie für die relevante Komponente den Link Ansicht als JSON öffnen aus.
In dieser Ansicht werden die Werte angezeigt, die im helm install
-Befehl an das Helm-Chart übergeben wurden. Jeder Wert wird mithilfe von --set
an den helm install
-Befehl übergeben. Falsch konfigurierte, unerwartete, fehlende oder falsch formatierte Werte können dazu führen, dass der Befehl helm install
nicht erfolgreich ist.