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.
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/config
auf 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.
- Wenn Sie zum Einrichten des Kubernetes-Clusters verwenden
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
Öffnen Sie das Fenster Integration Runtimes im Microsoft Purview Data Map
- Wenn Sie das neue Microsoft Purview-Portal verwenden:
- Öffnen der Data Map
- Wählen Sie Quellverwaltung aus.
- Auswählen von Integration Runtimes
- Wenn Sie das klassische Microsoft Purview-Governanceportal verwenden:
- Öffnen der Data Map
- Auswählen von Integration Runtimes
- Wenn Sie das neue Microsoft Purview-Portal verwenden:
Wählen Sie die Schaltfläche + Neu aus.
Wählen Sie Selbstgehostet und dann Weiter aus.
Geben Sie Ihrer Runtime einen Namen, und wählen Sie dann die Umschaltfläche Kubernetes Service-Unterstützung aus, um die Option zu aktivieren.
Wählen Sie Erstellen aus
Wählen Sie Registrierungsschlüssel abrufen aus.
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.
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.)
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.
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.
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
Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um die aktuelle status des SHIR zu überprüfen:
./irctl describe
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.
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.
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.
Ü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
Erstellen Sie eine Überprüfung mit dem Wert für DriverLocation mit dem Zielwert aus Schritt 3.
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.cn oder <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.cn oder <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
- Navigieren Sie im Microsoft Purview-Portal zu Data Map.
- Auswählen von Integration Runtimes
- 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.