Freigeben über


Erstellen und Verwalten einer von Kubernetes unterstützten selbstgehosteten Integration Runtime

In diesem Artikel werden die Details für das neue SHIR-Feature behandelt, das kubernetes-basiert für Linux ist und die zugrunde liegende Infrastruktur verbessert, um mehrere Vorteile zu bieten:

  • Skalierbarkeit: Möglichkeit, auf Hunderte von Computern zu skalieren.
  • Leistung: Verbesserte Leistung bei Scanworkloads.
  • Sicherheit (containerisiert): Möglichkeit, containerisierte Sicherheit in einem Kubernetes-Cluster zu verwenden, anstatt SHIR direkt auf einem Windows-Computer zu hosten

In diesem Artikel werden die Details zum Installieren und Verwalten einer von Kubernetes unterstützten selbstgehosteten Integration Runtime behandelt.

Unterstützte Datenquellen

Eine Liste aller unterstützten Quellen finden Sie in den unterstützten Datenquellen für jede Integration Runtime-Tabelle.

Architektur

In einer allgemeinen Architekturansicht werden bei der Installation einer Kubernetes-basierten SHIR mehrere Pods automatisch auf den Knoten des Kubernetes-Clusters der Benutzer erstellt. Diese Installation kann durch ein Befehlszeilentool namens IRCTL ausgelöst werden (ausführlichere Informationen finden Sie in den folgenden Abschnitten). IRCTL stellt eine Verbindung mit dem Microsoft Purview-Dienst her, um die SHIR zu registrieren und eine Verbindung mit dem Kubernetes-Cluster herzustellen, um die SHIR zu installieren. 

Während der Installation werden SHIR-Images von MCR (Microsoft Container Registries) in die SHIR-Pods heruntergeladen. Nach abschluss der Installation stellen die Pods im Benutzercluster eine Verbindung mit dem Microsoft Purview-Dienst her, um Scanaufträge zu pullen. Wenn ein Scanauftrag pullt wird, kann er die lokale Datenquelle der Benutzer für die Datenüberprüfung verbinden.

Infografik der Netzwerkarchitektur für die von Kubernetes unterstützte selbstgehostete Integration Runtime.

Voraussetzungen

  • Ein Microsoft Purview-Konto, das Datengovernancelösungen für Unternehmen verwendet.

  • Kubernetes-Cluster: Sie müssen über einen vorhandenen Linux-basierten Kubernetes-Cluster verfügen oder einen vorbereiten. Die Knoten können durch die Knotenauswahl identifiziert werden, die der Definition der Kubernetes-Knotenauswahl folgt. Mindestkonfiguration:

    • Containertyp: Linux
    • Kubernetes-Version: 1.24.9 oder höher
    • Node OS: Linux-basiertes Betriebssystem, das auf der x86-Architektur ausgeführt wird
    • Knotenspezifikation: mindestens acht Kerne CPU, 32 GB Arbeitsspeicher und mindestens 80 GB verfügbarer Festplattenspeicher
    • Knotenanzahl: >=1 (sollte behoben werden, automatische Clusterskalierung nicht aktivieren)
    • Podnummer pro Knoten: >= 20 (maximale Podnummer – Anzahl anderer Pods, die nicht zu Self-Hosted IR gehören)

    Hinweis

    Der Ordner /var/irstorage/ jedes Knotens ist für SHIR reserviert. Es ist lesbar und für SHIR beschreibbar. Sie können Protokolle abrufen, die aus diesem Ordner gespeichert werden, oder externe Treiber in diesen Ordner hochladen. Es wird von SHIR erstellt, wenn es nicht vorhanden ist, und es wird nicht gelöscht, nachdem SHIR gelöscht wurde. Die von SHIR verwendeten Containerimages werden von der Kubernetes Garbage Collection verwaltet, die nicht von SHIR bereinigt wird. Konfigurieren Sie den richtigen Schwellenwert für Ihren Kubernetes-Cluster.

  • Kubernetes-Clusternetzwerk: Der Kubernetes-Cluster, über den Sie verfügen, sollte in der Lage sein, eine Verbindung mit dem endpunkt herzustellen, der unter Netzwerkanforderungen aufgeführt ist.

  • Befehlszeilentool der Integration Runtime: Um Ihre Microsoft Purview Kubernetes SHIR lokal zu verwalten, benötigen Sie ein Befehlszeilentool namens IRCTL. Sie können dieses Tool während des SHIR-Erstellungsprozesses herunterladen. IRCTL ist ein Befehlszeilentool zum Verwalten Ihrer Microsoft Purview SHIR. Weitere Informationen finden Sie in der IRCTL-Dokumentation.

  • Kubernetes-Kontext: Kubernetes-Kontext, der Kubernetes-Clusterinformationen sowie Berechtigungen und Anmeldeinformationen des Benutzers für diesen Cluster enthält, ist für die Kommunikation mit Ihrem Kubernetes-Cluster erforderlich. Um die Konfiguration der Benutzerberechtigungen für die SHIR-Verwaltung zu vereinfachen, können Sie mit Kubernetes Admin Rolle beginnen. Dieser Kontext wird beim Einrichten Ihres Kubernetes-Clusters generiert und in einer Konfigurationsdatei gespeichert. Wo und wie Sie diese Datei abrufen können, hängt von Ihrer Einrichtung des Kubernetes-Clusters ab.
    • Wenn Sie zum Einrichten des Kubernetes-Clusters verwenden kubeadm init , finden Sie die Konfigurationsdatei unter /etc/Kubernetes/admin.conf.
    • Wenn Sie AKS verwenden, können Sie die Anleitung von AKS befolgen, um den Az PowerShell-Modulbefehl zu verwenden, um Anmeldeinformationen für diesen Cluster auf Ihrem lokalen Computer abzurufen. Der Kontext kann direkt mit der Konfigurationsdatei unter $HOME/.kube/config zusammengeführt werden.
    • Wenn Sie andere Tools zum Einrichten eines Kubernetes-Clusters verwenden, lesen Sie die Kubernetes-Dokumentation.
    • Da Sie über die Konfigurationsdatei des Kubernetes-Kontexts verfügen, führen Sie sie mit der Konfigurationsdatei auf dem Computer zusammen, $HOME/.kube/configauf dem Sie den IRCTL-Befehl ausführen möchten. Alternativ können Sie die Konfigurationsdatei des Kubernetes-Kontexts auch in einer Umgebungsvariablen namens KUBECONFIG festlegen. Weitere Informationen zum Kubernetes-Kontext finden Sie unter Konfigurieren des Zugriffs auf mehrere Cluster.

Erstellen einer von Kubernetes unterstützten selbstgehosteten Integration Runtime

Um eine Kubernetes SHIR zu steuern und zu verwalten, können Benutzer ein Befehlszeilentool namens IRCTL herunterladen. Im Folgenden finden Sie die Schritte zur von Kubernetes unterstützten selbstgehosteten Integration Runtime.

Die Schritte führen Sie durch das Herunterladen von IRCTL, aber direkte Links finden Sie in der IRCTL-Dokumentation.

Einrichten einer von Kubernetes unterstützten selbstgehosteten Integration Runtime

  1. Öffnen Sie das Fenster Integration Runtimes im Microsoft Purview Data Map

  2. Wählen Sie die Schaltfläche + Neu aus.

    Screenshot des Fensters

  3. Wählen Sie Selbstgehostet und dann Weiter aus.

    Screenshot des neuen Integration Runtime-Fensters mit ausgewählter Option

  4. Geben Sie Ihrer Runtime einen Namen, und wählen Sie dann die Umschaltfläche Kubernetes Service-Unterstützung aus, um die Option zu aktivieren.

    Screenshot des neuen Integration Runtime-Fensters mit aktivierter Kubernetes-Umschaltfläche

  5. Wählen Sie Erstellen aus

  6. Wählen Sie Registrierungsschlüssel abrufen aus.

    Screenshot der Seite

  7. Kopieren Sie den Schlüsselwert. Sie benötigen sie später, um Befehle in IRCTL auszuführen.

    Tipp

    Bei Bedarf können Sie einen Schlüssel erneut generieren oder einen generierten Schlüssel widerrufen.

  8. Wählen Sie den Link IRCTL herunterladen und Integration Runtime installieren aus, um das IRCTL-Tool herunterzuladen. (Sie können auch diese Schritte ausführen, um IRCTL direkt herunterzuladen.)

  9. Installieren Sie auf dem Computer, auf dem Sie die IRCTL-Befehlszeile ausführen möchten, IRCTL aus dem Download. IRCTL stellt eine Verbindung mit Ihrem Kubernetes-Cluster über den Kontext der Kube-Konfiguration her. Wenn kein Kontext angegeben wird, verwendet IRCTL den aktuellen Kontext. Sie können den Kontext auf eine von zwei Arten festlegen:

    • Führen Sie die kubectl-Befehlszeile aus, und führen Sie diesen Befehl aus, um den aktuellen Kontext zu bestätigen:

      kubectl config get-contexts – List all contexts configured on the machine
      
      kubectl config current-context – Get the current context name
      
      kubectl config use-context <name of context>
      
    • Führen Sie IRCTL aus, und führen Sie aus --context , um den Kontext in der Kube-Konfiguration anzugeben.

  10. Führen Sie die IRCTL-Befehlszeile aus, und führen Sie diesen Befehl mit dem kopierten Registrierungsschlüssel aus.

    ./irctl create --registration-key <registration key copied from the portal>
    

    Hinweis

    Wenn die Knotenauswahl nicht angegeben ist, verwendet alle Knoten des Kubernetes-Clusters. Für AKS empfehlen Sie, die Bezeichnung des AKS-Knotenpools als Knotenauswahl zu verwenden, oder Sie können verschiedene Bezeichnungen für die SHIR-Knoten anpassen.

  11. Dieser Ausdruck wird angezeigt:

    [Info] Start to create SHIR with Kubernetes context [your-context]......
    [Info] Environment validation passed!
    [Info] Registering SHIR[example-k8s-shir] for Microsoft Purview Account [yourpurviewaccount]......
    [Info] SHIR Registration done!
    [Info] Provisioning SHIR, it may take about 5-30 minutes......done!
    [Info] SHIR creation succeeded!  
    

    Tipp

    Wenn der Installationsfortschritt durch STRG+C oder andere Gründe unterbrochen wird, kann der folgende Befehl verwendet werden, um den Installationsfortschritt zu überwachen: ./irctl install status

  12. Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um die aktuelle status des SHIR zu überprüfen:

    ./irctl describe
    
  13. Sie können auch die status Ihrer SHIR im Microsoft Purview-Portal auf der Seite Integration Runtimes überprüfen.

Einrichten einer Überprüfung mit externen Treibern

Beim Überprüfen einiger Datenquellen müssen Sie den entsprechenden Treiber auf dem Computer installieren, auf dem die SHIR installiert ist, damit Microsoft Purview eine Verbindung mit der Datenquelle herstellen kann. Im Folgenden finden Sie ein Beispiel für die Db2-Überprüfung. Spezifische Voraussetzungen finden Sie im entsprechenden Connectorartikel.

Hinweis

Datenquellen, die diese externen Treiber benötigen, verfügen über die Informationen, die in ihren Voraussetzungen aufgeführt sind.

In diesem Beispiel installieren wir den Db2-Treiber. Die Schritte für andere Treiber sind ähnlich.

  1. Installieren Sie zunächst die Integration Runtime.

  2. Laden Sie den Treiber herunter (für jede Quelle wird der jeweilige Treiber aufgeführt.) Beispielsweise finden Sie den DB2-Treiber hier: Herstellen einer Verbindung mit und Verwalten von Db2.

  3. Laden Sie den Treiber auf jeden Knoten für Ihre Integration Runtime hoch. Sie können einen Befehl wie den folgenden verwenden:

    ./irctl storage upload --source jdbc_sqlj/db2_driver --destination driver/db2
    

    Eine erfolgreiche Uploadbestätigung sieht wie folgt aus:

    ========== Context ========== 
    Kubernetes Context             : k8s-shir-test-cluster 
    Purview Account                : test-purview-1 
    Self-hosted Intrgration Runtime: k8s-shir-demo 
    ========== Progress ========== 
    Processing 2/2 nodes... 
    aks-shirpool-27141791-vmss000000: SUCCEEDED 
    aks-shirpool-27141791-vmss000001: SUCCEEDED 
    ========== Results ========== 
    jdbc_sqlj/db2_driver -> /var/irstorage/driver/db2 
    

    Hinweis

    Wenn Sie Knoten ersetzen oder auf neue Knoten aufskalieren, müssen Sie den externen Treiber erneut hochladen.

  4. Überprüfen Sie die hochgeladenen Dateien mit diesem Befehl:

    ./irctl storage list driver/db2
    

    Es sollte eine Antwort wie die folgende angezeigt werden:

    ========== Context ========== 
    Kubernetes Context             : k8s-shir-test-cluster 
    Purview Account                : test-purview-1 
    Self-hosted Intrgration Runtime: k8s-shir-demo 
    ========== Progress ========== 
    Processing 2/2 nodes... 
    aks-shirpool-27141791-vmss000000: SUCCEEDED 
    aks-shirpool-27141791-vmss000001: SUCCEEDED 
    ========== Results ========== 
    Node: aks-shirpool-27141791-vmss000000 - Succeeded 
    /var/irstorage/driver/db2 
    total 9364 
    drwxr-xr-x    2 root     root          4096 May 15 14:23 . 
    drwxr-xr-x    3 root     root          4096 May 15 14:23 .. 
    -rwxrwxr-x    1 root     root       6568346 May 15 14:23 db2jcc4.jar 
    Node: aks-shirpool-27141791-vmss000001 - Succeeded 
    /var/irstorage/driver/db2 
    total 9364 
    drwxr-xr-x    2 root     root          4096 May 15 14:23 . 
    drwxr-xr-x    3 root     root          4096 May 15 14:23 .. 
    -rwxrwxr-x    1 root     root       6568346 May 15 14:23 db2jcc4.jar 
    
  5. Erstellen Sie eine Überprüfung mit dem Wert für DriverLocation mit dem Zielwert aus Schritt 3.

    Screenshot des Fensters zum Einrichten der Überprüfung, in dem der Speicherort des Treibers als

Hochverfügbarkeit und Skalierbarkeit

Sie können mehrere Knoten des Kubernetes-Clusters mit Hochverfügbarkeit zuweisen, indem Sie die Knotenauswahl während der von Kubernetes unterstützten Installation der selbstgehosteten Integration Runtime verwenden. Die Vorteile mehrerer Knoten sind:

  • Höhere Verfügbarkeit der selbstgehosteten Integration Runtime, sodass sie nicht mehr der Single Point of Failure für Überprüfungen ist.
  • Führen Sie weitere gleichzeitige Überprüfungen aus. Jeder Knoten kann mehrere Überprüfungsausführungen gleichzeitig ermöglichen. Sie können Knoten des Kubernetes-Clusters manuell aufskalieren, wenn Sie mehr gleichzeitige Überprüfungen benötigen.
  • Beim Überprüfen einiger Quellen wie Azure Blob, Azure Data Lake Storage Gen2 und Azure Files kann jede Überprüfungsausführung mehrere Knoten verwenden, um die Überprüfungsleistung zu steigern. Bei anderen Quellen werden Scans nur auf einem der Knoten ausgeführt.

Die Funktion der von Kubernetes unterstützten selbstgehosteten Integration Runtime kann aktualisiert werden, indem Knoten des Kubernetes-Clusters manuell hoch-/herunterskaliert werden.

Hinweis

Sie müssen alle erforderlichen Treiber für die Überprüfung auf jedem neuen Knoten hochladen.

Netzwerkanforderungen

Domänenname Ausgehende Ports Beschreibung
Öffentliche Cloud: <tenantID>-api.purview-service.microsoft.com
Azure Government:<tenantID>-api.purview-service.microsoft.us
China: <tenantID>-api.purview-service.microsoft.cn
443 Erforderlich, um eine Verbindung mit dem Microsoft Purview-Dienst herzustellen. Wenn Sie private Microsoft Purview-Endpunkte verwenden, wird dieser Endpunkt vom privaten Endpunkt des Kontos abgedeckt.
Öffentliche Cloud: <purview_account>.purview.azure.com
Azure Government:<purview_account>.purview.azure.us
China: <purview_account>.purview.azure.cn
443 Erforderlich, um eine Verbindung mit dem Microsoft Purview-Dienst herzustellen. Wenn Sie private Microsoft Purview-Endpunkte verwenden, wird dieser Endpunkt vom privaten Endpunkt des Kontos abgedeckt.
Öffentliche Cloud: <managed_storage_account>.blob.core.windows.net oder <ingestion_storage_account>.*.blob.storage.azure.net
Azure Government: <managed_storage_account>. blob.core.usgovcloudapi.net oder<ingestion_storage_account>. blob.core.usgovcloudapi.net
China: <managed_storage_account>.blob.core.chinacloudapi.cnoder <ingestion_storage_account>.blob.core.chinacloudapi.cn
443 Erforderlich, um eine Verbindung mit dem von Microsoft Purview verwalteten Azure Blob Storage-Konto herzustellen.
Öffentliche Cloud: <managed_storage_account>.queue.core.windows.net oder <ingestion_storage_account>.*.queue.storage.azure.net
Azure Government: <managed_storage_account>. queue.core.usgovcloudapi.net oder<ingestion_storage_account>. queue.core.usgovcloudapi.net
China: <managed_storage_account>.queue.core.chinacloudapi.cnoder <ingestion_storage_account>.queue.core.chinacloudapi.cn
443 Erforderlich, um eine Verbindung mit dem von Microsoft Purview verwalteten Azure Queue Storage-Konto herzustellen.
Öffentliche Cloud: *.compute.governance.azure.com
Azure Government:*.compute.governance.azure.us
China: *.compute.governance.azure.cn
443 Erforderlich, um eine Verbindung mit dem Microsoft Purview-Dienst herzustellen. Derzeit ist ein Wildcard erforderlich, da keine dedizierte Ressource vorhanden ist.
mcr.microsoft.com 443 Erforderlich zum Herunterladen von Bildern.
*.data.mcr.microsoft.com 443 Erforderlich zum Herunterladen von Bildern.

Hinweis

Abhängig von den Quellen, die Benutzer überprüfen möchten, müssen sie auch andere Domänen und ausgehende Ports für andere Azure- oder externe Quellen zulassen.

Version

In der Regel veröffentlichen wir jeden Monat eine neue Nebenversion der selbstgehosteten Integration Runtime, die Features, Verbesserungen und Fehlerbehebungen enthält.

Jede Version der selbstgehosteten Integration Runtime läuft in einem Jahr ab.

Überprüfen der aktuellen Version

Sie können die Version Ihrer selbstgehosteten Kubernetes Integration Runtime entweder im Portal oder mit der IRCTL überprüfen.

Portal

  1. Navigieren Sie im Microsoft Purview-Portal zu Data Map.
  2. Auswählen von Integration Runtimes
  3. Die vierte Spalte in der Beschreibungszeile Ihrer Integration Runtime lautet Version, und Sie können die Version dort überprüfen.

IRCTL (1.1.0 und höher)

Der Befehl describe gibt die Version der Integration Runtime zurück.

./irctl describe

Automatische Aktualisierung

Ab Version 1.1.0 unterstützt die selbstgehostete Kubernetes-Integration Runtime die automatische Aktualisierung, die standardmäßig aktiviert ist. Dieses Feature stellt sicher, dass Ihre Integration Runtime ungefähr einmal im Monat automatisch auf die neueste von Microsoft verwaltete Version aktualisiert wird.

Abmelden

Es wird empfohlen, die automatische Aktualisierung aktiviert zu lassen, um von den neuesten Features und Verbesserungen zu profitieren. Sie haben jedoch die Möglichkeit, die automatische Aktualisierung mithilfe von IRCTL zu deaktivieren. Die Konfiguration für automatische Updates wird bei der Neuinstallation beibehalten, sodass Sie sie nicht bei jeder Installation deaktivieren müssen.

./irctl config set autoUpdate.enabled false
./irctl config view

Automatisches Aktualisieren der Version im Vergleich zur neuesten Version

Um die Stabilität zu gewährleisten, liegt das automatische Update in der Regel mit einer Verzögerung von einem Monat hinter der neuesten Version. Die Version für automatische Updates wird von Microsoft verwaltet.

Wenn Sie Ihre Integration Runtime auf neuere Versionen aktualisieren möchten, sollte ein manuelles Upgrade mit IRCTL der jeweiligen Version durchgeführt werden.

Nächste Schritte