Freigeben über


Problembehandlung für eine von Kubernetes unterstützte selbstgehostete Integration Runtime

In diesem Artikel werden die Details zur Problembehandlung der neuen selbstgehosteten Integration Runtime behandelt, die kubernetes-basiert für Linux ist.

Sie können alle Fehler, die in der folgenden Fehlerhinweisliste angezeigt werden, nachschlagen. Um Support und Anleitungen zur Problembehandlung für SHIR-Probleme zu erhalten, müssen Sie möglicherweise eine Protokollupload-ID generieren und sich an den Microsoft-Support wenden.

Erfassen von Protokollen der selbstgehosteten Integration Runtime in Kubernetes

So generieren Sie die Protokollupload-ID für Microsoft-Support:

  1. Sobald bei einer Überprüfung status Fehler angezeigt wird, navigieren Sie zu der VM oder dem Computer, auf dem Ihr IRCTL-Tool installiert ist.
  2. Verwenden Sie den ./irctl log uploadBefehl.
  3. Wenn die Protokolle hochgeladen werden, speichern Sie die ausgegebene Protokollupload-ID.
  4. Wenn die selbstgehostete Integration Runtime nicht registriert werden kann, verwenden Sie den unten stehenden Leitfaden, um Protokolle in die lokale Umgebung herunterzuladen und an den Microsoft-Support zu senden.

Verwenden Sie den Befehl, um das Protokoll der selbstgehosteten Integration Runtime und das ./irctl log download Scanausführungsprotokoll zur Problembehandlung für Ihre SHIR zu sammeln.

Zum Beispiel:

./irctl log download --destination "C:\Users\user\logs\"

Protokolle werden in den Zielpfad heruntergeladen.

Hinweis

Das Protokoll wird für 14 Tage reserviert. Bitte speichern Sie sie, indem Sie sie auf Microsoft hochladen oder auf Ihren lokalen Computer herunterladen.

IRCTL-Konnektivitätsfehler mit Kubernetes

Möglicherweise erhalten Sie eine Kubernetes-Kontextkonfiguration von Ihrem Kubernetes-Administrator, und die Registrierung kann mit einer der folgenden Fehlermeldungen fehlschlagen:

  • Error: invalid flag context [] .kube/config: no such file or directory
  • [Warning] Failed to create kube client with context [] with error

Ursache

Bei der Installation einer selbstgehosteten Integration Runtime sind eine korrekte Kubernetes-Konfiguration und eine stabile Konnektivität erforderlich.

Lösung

  1. Stellen Sie sicher, dass sich die Kubernetes-Kontextdatei im richtigen Pfad befindet.
  2. Stellen Sie sicher, dass der IRCTL-Computer den Kubernetes-Cluster-API-Server erreichen kann.

IRCTL-Berechtigungsfehler

Beim Herstellen einer Verbindung können die folgenden Fehlermeldungen angezeigt werden:

  • [Error] Failed to list namespaces to get Running SHIR
  • [Error] Failed to get configmap/ create job/ etc.

Ursache

Bei der Installation einer selbstgehosteten Integration Runtime sind ausreichende Berechtigungen für mehrere Kubernetes-Ressourcen erforderlich.

Lösung

Generieren Sie das Kubernetes-Dienstkontotoken mit einer Admin Rolle erneut.

IRCTL-Konnektivitätsfehler zum Microsoft Purview-Dienstendpunkt

Wenn Sie versuchen, die von Kubernetes unterstützte selbstgehostete Integration Runtime zu registrieren, kann der Befehl IRCTL create die folgenden Fehler zurückgeben:

  • [Error] Failed to register SHIR with error: Post “https://[REGION].compute.governance.azure.com/purviewAccounts/[]/integrationruntimes/[]/registerselfhostedintegrationruntime: []”

Ursache

IRCTL kann keine Verbindung mit dem Dienst-Back-End herstellen. Ein solches Problem wird in der Regel durch Netzwerkeinstellungen oder firewalls verursacht.

Lösung

Überprüfen Sie die Netzwerktopologie des IRCTL-Hostcomputers. Weitere Informationen finden Sie in den folgenden Abschnitten der allgemeinen Problembehandlungsseite der Integration Runtime: Firewall, DNSServer, SSL-Zertifikatvertrauensstellungen und HTTP-Proxy.

Registrierungsschlüssel ist nicht autorisiert

Wenn Sie versuchen, die von Kubernetes unterstützte selbstgehostete Integration Runtime zu registrieren, kann der Befehl IRCTL create die folgenden Fehler zurückgeben:

  • [Error] failed to register SHIR with error: Request is not authorized.

Ursache

Sie waren abgelaufen oder wurden manuell widerrufen.

Lösung

Generieren Sie den Schlüssel auf der Seite der Integration Runtime im Microsoft Purview-Portal neu, und registrieren Sie sich erneut.

Fehler beim Erstellen einer selbstgehosteten Kubernetes-IR

Wenn Sie versuchen, die von Kubernetes unterstützte selbstgehostete Integration Runtime zu registrieren, kann der Befehl IRCTL create lange ausgeführt werden, bis ein Timeout auftritt.

Screenshot der Befehlszeile nach dem Erstellen eines Zeitüberschreitungs.

Sie können damit beginnen, die status von Pods unter den Namespaces zu überprüfen, die irctl describe im Befehl erwähnt werden.

Zum Beispiel:

./irctl describe 

K8s SHIR Name:shir-demo 
Purview AccountName:   shirdemopurview 
Installation ID:       00000000-0000-0000-0000-000000000000 
Kubernetes Namespace:  shirdemopurview-shir-demo, compute-fleet-system(control-plane) 
K8s SHIR Version:      Unknown (Installation not completed) 
Status:                Initializing 
Healthiness:           Unhealthy

kubectl get pods --namespace shirdemopurview-shir-demo

NAME                                       READY   STATUS    RESTARTS   AGE 
batch-defaultspec-4pbwx                    0/1     Pending   0          10m 
batch-defaultspec-7t9bl                    0/1     Pending   0          10m 
dynamic-config-provider-778c686fdc-9mkjb   0/1     Pending   0          10m 
interactive-schemaprocess-bcrmf            0/1     Pending   0          10m 
interactive-schemaprocess-fn66x            0/1     Pending   0          10m 
logagent-ds-84jqn                          0/1     Pending   0          10m 
logagent-ds-k7vw8                          0/1     Pending   0          10m 
user-credential-proxy-579c899b64-d4q5v     0/1     Pending   0          10m 

Es gibt einige mögliche Ursachen, die unten aufgeführt sind:

Ursache: Konnektivität mit dem Microsoft Purview-Dienstendpunkt

Kubernetes kann keine Verbindung mit MCR (mcr.microsoft.com) herstellen. Dieser Fehler wird in der Regel durch Netzwerkeinstellungen oder eine Firewall verursacht.

Wenn die status als "ImagePullBackOff" angezeigt wird, bedeutet dies, dass Kubernetes keine Verbindung mit MCR (mcr.microsoft.com) herstellen kann, um Podimages herunterzuladen. Dieser Fehler wird in der Regel durch Netzwerkeinstellungen oder eine Firewall verursacht.

Screenshot der Befehlszeile mit dem imagePullBackOff-status.

Lösung: Konnektivität mit dem Microsoft Purview-Dienstendpunkt

Überprüfen Sie die Netzwerktopologie für Ihren Kubernetes-Cluster. Für Azure Kubernetes sollten Sie beispielsweise Folgendes überprüfen:

Hinweis

Die erforderlichen Schritte zur Problembehandlung sind für jeden Kubernetes-Anbieter unterschiedlich. Die Details des Bereitstellungsstandorts und der einzelnen Netzwerke variieren je nach Netzwerk. Sie müssen die Konnektivität über das Netzwerk Ihres organization überprüfen.

Überprüfen Sie die Netzwerktopologie des IRCTL-Hostcomputers. Weitere Informationen finden Sie in den folgenden Abschnitten der allgemeinen Problembehandlungsseite der Integration Runtime: Firewall, DNSServer, SSL-Zertifikatvertrauensstellungen und HTTP-Proxy.

Ursache: Kubernetes-Knotenkonfigurationsfehler

Wenn die status einiger Pods in "Ausstehend" hängen bleiben, verwenden Sie den Befehl describe pod, um Details zum Pod anzuzeigen.

Zum Beispiel:

kubectl describe pod batch-defaultspec-4pbwx  --namespace shirdemopurview-shir-demo

Events: 
  Type     Reason            Age                From               Message 

  ----     ------            ----               ----               ------- 

  Warning  FailedScheduling  13m                default-scheduler  0/5 nodes are available: 1 Too many pods. preemption: 0/5 nodes are available: 5 No preemption victims found for incoming pod.. 

Die Ereignisse aus dem Describe-Befehl können den Grund für die Ausstehende des Pods ermitteln. Der FailedScheduling-Fehler mit detaillierter Meldung zeigt, dass die Gesamtzahl der Pods die maximale Anzahl des Pods auf einem Knoten überschritten hat. Ein neuer Pod kann nicht für den ausgewählten Knoten geplant werden.

Hinweis

Wenn unter der Beschreibung keine Ereignisse angezeigt werden, versuchen Sie, den Pod manuell per kubectl delete pod Befehl zu löschen, und verfolgen Sie den neu erstellten Pod nach.

Lösung: Kubernetes-Knotenkonfigurationsfehler

Reservieren Sie 20 Podnummern für die Kubernetes Integration Runtime, um normale Auslastungs- und Upgradeszenarien zu unterstützen.

Kubernetes-Konnektivitätsfehler mit Microsoft Purview-Dienstendpunkt

Wenn Sie versuchen, die von Kubernetes unterstützte selbstgehostete Integration Runtime zu registrieren, kann der IRCTRL-Create-Befehl lange ausgeführt werden, bis ein Timeout auftritt. Oder nach einer erfolgreichen Installation wird die selbstgehostete Integration Runtime-status im Microsoft Purview-Portal als fehlerhaft oder offline angezeigt.

Überprüfen Sie die Protokolle mit dem folgenden Befehl: kubectl logs [podName] -n compute-fleet-system

Möglicherweise wird einer der folgenden Fehler angezeigt:

  • “TraceMessage”:”HttpRequestFailed”, “Host”: “fleet.[REGION].compute.governance.azure.com”
  • Exception":"System.Net.Http.HttpRequestException: Connection refused fleet.[REGION].compute.governance.azure.com:443
  • System.AggregateException: Failed to acquire identity token from https://fleet. [REGION].compute.governance.azure.com:443

Ursache

Kubernetes kann keine Verbindung mit dem Dienst-Back-End herstellen. Dieser Fehler wird in der Regel durch Netzwerkeinstellungen oder eine Firewall verursacht.

Lösung

Überprüfen Sie die Netzwerktopologie für Ihren Kubernetes-Cluster. Für Azure Kubernetes sollten Sie beispielsweise Folgendes überprüfen:

Hinweis

Die erforderlichen Schritte zur Problembehandlung sind für jeden Kubernetes-Anbieter unterschiedlich. Die Details des Bereitstellungsstandorts und der einzelnen Netzwerke variieren je nach Netzwerk. Sie müssen die Konnektivität über das Netzwerk Ihres organization überprüfen.

Überprüfen Sie die Netzwerktopologie des IRCTL-Hostcomputers. Weitere Informationen finden Sie in den folgenden Abschnitten der allgemeinen Problembehandlungsseite der Integration Runtime: Firewall, DNSServer, SSL-Zertifikatvertrauensstellungen und HTTP-Proxy.

Aufheben der Registrierung einer Runtime, deren lokale Ressource nicht verfügbar ist

Wenn Ihre lokale selbstgehostete Integration Runtime versehentlich aus dem Kubernetes-Cluster gelöscht wird, können Sie sie nicht mit dem irctl delete Befehl löschen und nicht in einem anderen Kubernetes-Cluster installieren.

Ursache

Eine selbstgehostete Integration Runtime kann nur in einem Kubernetes-Cluster installiert werden. Nach der Registrierung kann es nicht mehr in einem anderen Cluster installiert werden, bevor die Registrierung aufgehoben wird.

Lösung

  1. Überprüfen Sie die lokale status der selbstgehosteten Integration. Sie sollten sehen, dass keine ausgeführte selbstgehostete Integration Runtime gefunden wird.

    $./irctl describe
    
  2. Überprüfen Sie die selbstgehostete Integration Runtime im Microsoft Purview-Portal. Es sollte eine Offline-status angezeigt werden. (Es gibt jedoch eine Wartezeit von 1 Stunde für den Tokenablauf.)

  3. Wählen Sie neben dem status die Option Registrierung der Installation aufheben aus, und bestätigen Sie den Vorgang.

  4. Nach Abschluss der Aufhebung der Registrierung wird die status als Nicht registriert angezeigt.

  5. Wählen Sie die Integration Runtime aus, und rufen Sie den Registrierungsschlüssel ab.

  6. Installieren Sie die Integration Runtime neu.

Nächste Schritte