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:
- Sobald bei einer Überprüfung status Fehler angezeigt wird, navigieren Sie zu der VM oder dem Computer, auf dem Ihr IRCTL-Tool installiert ist.
- Verwenden Sie den
./irctl log upload
Befehl. - Wenn die Protokolle hochgeladen werden, speichern Sie die ausgegebene Protokollupload-ID.
- 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
- Stellen Sie sicher, dass sich die Kubernetes-Kontextdatei im richtigen Pfad befindet.
- 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.
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.
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
Überprüfen Sie die lokale status der selbstgehosteten Integration. Sie sollten sehen, dass keine ausgeführte selbstgehostete Integration Runtime gefunden wird.
$./irctl describe
Ü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.)
Wählen Sie neben dem status die Option Registrierung der Installation aufheben aus, und bestätigen Sie den Vorgang.
Nach Abschluss der Aufhebung der Registrierung wird die status als Nicht registriert angezeigt.
Wählen Sie die Integration Runtime aus, und rufen Sie den Registrierungsschlüssel ab.