Creare e gestire un runtime di integrazione self-hosted supportato da Kubernetes
Questo articolo illustra i dettagli per la nuova funzionalità SHIR basata su Kubernetes per Linux che migliora l'infrastruttura sottostante per offrire diversi vantaggi:
- Scalabilità: possibilità di ridimensionare fino a centinaia di computer.
- Prestazioni: prestazioni migliorate nei carichi di lavoro di analisi.
- Sicurezza (in contenitori): possibilità di avere una sicurezza in contenitori in un cluster Kubernetes, anziché ospitare direttamente SHIR in un computer Windows
Questo articolo illustra i dettagli per installare e gestire un runtime di integrazione self-hosted supportato da Kubernetes.
Origini dati supportate
Per un elenco di tutte le origini supportate, vedere le origini dati supportate per ogni tabella di runtime di integrazione.
Architettura
In una visualizzazione architetturale generale, quando viene installato un file SHIR basato su Kubernetes, diversi pod vengono creati automaticamente nei nodi del cluster Kubernetes degli utenti. Questa installazione può essere attivata da uno strumento da riga di comando denominato IRCTL (più in dettaglio nelle sezioni seguenti). IRCTL si connette al servizio Microsoft Purview per registrare SHIR e connettersi al cluster Kubernetes per installare SHIR.
Durante l'installazione, le immagini SHIR vengono scaricate da MCR (Registri contenitori Microsoft) nei pod SHIR. Al termine dell'installazione, i pod nel cluster degli utenti si connetteranno al servizio Microsoft Purview per eseguire il pull dei processi di analisi. Durante il pull di un processo di analisi, è possibile connettere l'origine dati locale degli utenti per l'analisi dei dati.
Prerequisiti
Un account Microsoft Purview che usa soluzioni di governance dei dati aziendali .
Cluster Kubernetes: è necessario avere un cluster Kubernetes basato su Linux esistente o prepararne uno. I nodi possono essere identificati dal selettore di nodi, che segue la definizione del selettore di nodi Kubernetes. Configurazione minima:
- Tipo di contenitore: Linux
- Versione di Kubernetes: 1.24.9 o versione successiva
- Sistema operativo nodo: sistema operativo basato su Linux in esecuzione nell'architettura x86
- Specifica del nodo: CPU minima di otto core, 32 GB di memoria e almeno 80 GB di spazio disponibile su disco rigido
- Numero di nodi: >=1 (deve essere fisso, non abilitare il ridimensionatore automatico del cluster)
- Numero di pod per nodo: >= 20 (numero massimo pod - numero di altri pod non appartenenti a Self-Hosted IR)
Nota
La cartella /var/irstorage/ di ogni nodo è riservata a SHIR. È leggibile e scrivibile per SHIR. È possibile ottenere che i log vengano salvati in modo permanente da questa cartella o caricare driver esterni in questa cartella. Verrà creato da SHIR se non esiste e non verrà eliminato dopo l'eliminazione di SHIR. Le immagini del contenitore usate da SHIR vengono gestite da Kubernetes Garbage Collection, che non verrà pulito da SHIR. Configurare la soglia appropriata per il cluster Kubernetes.
Rete cluster Kubernetes: il cluster Kubernetes di cui si dispone dovrebbe essere in grado di connettersi all'endpoint elencato nei requisiti di rete.
Strumento da riga di comando del runtime di integrazione: per gestire microsoft Purview Kubernetes SHIR in locale, è necessario uno strumento da riga di comando denominato IRCTL. È possibile scaricare questo strumento durante il processo di creazione di SHIR. IRCTL è uno strumento da riga di comando per gestire microsoft Purview SHIR. Per altre informazioni, vedere la documentazione di IRCTL.
-
Contesto Kubernetes: il contesto Kubernetes, che contiene le informazioni sul cluster Kubernetes e le autorizzazioni e le credenziali dell'utente per questo cluster, è necessario per comunicare con il cluster Kubernetes. Per semplificare la configurazione per le autorizzazioni dell'utente per la gestione SHIR, è possibile iniziare con Kubernetes Amministrazione ruolo. Questo contesto viene generato con l'installazione del cluster Kubernetes e salvato in un file di configurazione. Dove e come è possibile ottenere questo file dipende dalla configurazione del cluster Kubernetes.
- Se si usa
kubeadm init
per configurare il cluster Kubernetes, è possibile trovare il file di configurazione in/etc/Kubernetes/admin.conf
. - Se si usa il servizio Azure Kubernetes, è possibile seguire le indicazioni del servizio Azure Kubernetes per usare il comando del modulo Az PowerShell per ottenere le credenziali di questo cluster nel computer locale. Il contesto può essere unito direttamente al file di configurazione in
$HOME/.kube/config
. - Se si usano altri strumenti per configurare un cluster Kubernetes, vedere la documentazione di Kubernetes.
- Poiché si dispone del file di configurazione del contesto Kubernetes, unirlo al file di configurazione, ovvero
$HOME/.kube/config
, nel computer in cui si vuole eseguire il comando IRCTL. In alternativa, è possibile impostare il file di configurazione del contesto Kubernetes anche in una variabile di ambiente denominata KUBECONFIG. Per altre informazioni sul contesto Kubernetes, vedere Configurare l'accesso a più cluster.
- Se si usa
Creare il runtime di integrazione self-hosted supportato da Kubernetes
Per controllare e gestire un SHIR Kubernetes, gli utenti possono scaricare uno strumento da riga di comando denominato IRCTL. Di seguito sono riportati i passaggi per il runtime di integrazione self-hosted supportato da Kubernetes.
La procedura prevede il download di IRCTL, ma per i collegamenti diretti, vedere la documentazione di IRCTL.
Configurare un runtime di integrazione self-hosted supportato da Kubernetes
Aprire la finestra Runtime di integrazione nel Microsoft Purview Data Map
- Se si usa il nuovo portale di Microsoft Purview:
- Aprire la mappa dati
- Selezionare Gestione origine
- Selezionare Runtime di integrazione
- Se si usa il portale di governance di Microsoft Purview classico:
- Aprire la mappa dati
- Selezionare Runtime di integrazione
- Se si usa il nuovo portale di Microsoft Purview:
Selezionare il pulsante + Nuovo
Selezionare Self-hosted (Self-hosted ) e quindi Continue (Continua)
Assegnare un nome al runtime, quindi selezionare l'interruttore supporto del servizio Kubernetes per abilitare
Selezionare Crea.
Selezionare Recupera chiave di registrazione
Copiare il valore della chiave. È necessario eseguire i comandi in IRCTL in un secondo momento.
Consiglio
Se necessario, è possibile rigenerare una chiave o revocare una chiave generata.
Selezionare il collegamento Scarica IRCTL e installa runtime di integrazione per scaricare lo strumento IRCTL. È anche possibile seguire questa procedura per scaricare direttamente IRCTL.
Nel computer in cui si vuole eseguire la riga di comando IRCTL installare IRCTL dal download. IRCTL si connette al cluster Kubernetes in base al contesto della configurazione di Kube. Se il contesto non è specificato, IRCTL usa il contesto corrente. È possibile impostare il contesto in uno dei due modi seguenti:
Eseguire la riga di comando kubectl ed eseguire questo comando per confermare il contesto corrente:
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>
Eseguire IRCTL ed eseguire
--context
per specificare il contesto nella configurazione di Kube
Eseguire la riga di comando IRCTL ed eseguire questo comando con la chiave di registrazione copiata.
./irctl create --registration-key <registration key copied from the portal>
Nota
Se il selettore di nodo non è specificato, userà tutti i nodi del cluster Kubernetes. Per il servizio Azure Kubernetes, è consigliabile usare l'etichetta del pool di nodi del servizio Azure Kubernetes come selettore di nodi oppure personalizzare etichette diverse per i nodi SHIR.
Verrà visualizzata questa stampa:
[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!
Consiglio
Se lo stato di avanzamento dell'installazione è interrotto da CTRL-C o da altri motivi, è possibile usare il comando seguente per monitorare lo stato di avanzamento dell'installazione:
./irctl install status
Al termine dell'installazione, per controllare lo stato corrente di SHIR, eseguire questo comando:
./irctl describe
È anche possibile controllare lo stato di SHIR nel portale di Microsoft Purview nella pagina Runtime di integrazione .
Configurare un'analisi con driver esterni
Quando si analizzano alcune origini dati, è necessario installare il driver corrispondente nel computer in cui è installato SHIR per consentire a Microsoft Purview di connettersi all'origine dati. Di seguito è riportato un esempio per l'analisi Db2. Per i prerequisiti specifici, vedere il rispettivo articolo del connettore.
Nota
Le origini dati che necessitano di questi driver esterni avranno le informazioni elencate nei prerequisiti.
In questo esempio verrà installato il driver Db2. I passaggi per altri driver saranno simili.
Scaricare il driver (ogni origine avrà elencato il proprio driver singolo). Ad esempio, è possibile trovare il driver DB2 qui: Connettersi a Db2 e gestirlo.
Caricare il driver in ogni nodo per il runtime di integrazione. È possibile usare un comando simile al seguente:
./irctl storage upload --source jdbc_sqlj/db2_driver --destination driver/db2
Una conferma di caricamento riuscita sarà simile alla seguente:
========== 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
Nota
Se si sostituiscono i nodi o si esegue la scalabilità orizzontale in nuovi nodi, sarà necessario caricare di nuovo il driver esterno.
Verificare i file caricati con questo comando:
./irctl storage list driver/db2
Verrà visualizzata una risposta simile alla seguente:
========== 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
Creare l'analisi con il valore di DriverLocation con il valore Destination del passaggio 3.
Disponibilità elevata e scalabilità
È possibile assegnare più nodi del cluster Kubernetes per avere disponibilità elevata usando il selettore di nodi durante l'installazione del runtime di integrazione self-hosted supportata da Kubernetes. I vantaggi di avere più nodi sono:
- Disponibilità maggiore del runtime di integrazione self-hosted in modo che non sia più il singolo punto di errore per le analisi.
- Eseguire più analisi simultanee. Ogni nodo può consentire molte esecuzioni di analisi contemporaneamente. È possibile aumentare manualmente i nodi del cluster Kubernetes se sono necessarie più analisi simultanee.
- Durante l'analisi di alcune origini, ad esempio BLOB di Azure, Azure Data Lake Storage Gen2 e File di Azure, ogni esecuzione di analisi può usare più nodi per migliorare le prestazioni dell'analisi. Per altre origini, le analisi vengono eseguite solo su uno dei nodi.
La funzionalità del runtime di integrazione self-hosted supportato da Kubernetes può essere aggiornata scalando manualmente i nodi del cluster Kubernetes.The capability of Kubernetes supported self-hosted integration runtime can be updated by manually scaling out/in nodes of the Kubernetes cluster.
Nota
È necessario caricare tutti i driver necessari per l'analisi in ogni nuovo nodo.
Requisiti di rete
Nome di dominio | Porte in uscita | Descrizione |
---|---|---|
Cloud pubblico: <tenantID>-api.purview-service.microsoft.com Azure per enti pubblici: <tenantID>-api.purview-service.microsoft.us Cina: <tenantID>-api.purview-service.microsoft.cn |
443 | Necessario per connettersi al servizio Microsoft Purview. Se si usano gli endpoint privati di Microsoft Purview, questo endpoint è coperto dall'endpoint privato dell'account. |
Cloud pubblico: <purview_account>.purview.azure.com Azure per enti pubblici: <purview_account>.purview.azure.us Cina: <purview_account>.purview.azure.cn |
443 | Necessario per connettersi al servizio Microsoft Purview. Se si usano gli endpoint privati di Microsoft Purview, questo endpoint è coperto dall'endpoint privato dell'account. |
Cloud pubblico: <managed_storage_account>.blob.core.windows.net o <ingestion_storage_account>.*.blob.storage.azure.net Azure per enti pubblici: <managed_storage_account>. blob.core.usgovcloudapi.net o<ingestion_storage_account>. blob.core.usgovcloudapi.net Cina: <managed_storage_account>.blob.core.chinacloudapi.cn o <ingestion_storage_account>.blob.core.chinacloudapi.cn |
443 | Necessario per connettersi all'account di archiviazione BLOB di Azure gestito da Microsoft Purview. |
Cloud pubblico: <managed_storage_account>.queue.core.windows.net o <ingestion_storage_account>.*.queue.storage.azure.net Azure per enti pubblici: <managed_storage_account>. queue.core.usgovcloudapi.net o<ingestion_storage_account>. queue.core.usgovcloudapi.net Cina: <managed_storage_account>.queue.core.chinacloudapi.cn o <ingestion_storage_account>.queue.core.chinacloudapi.cn |
443 | Necessario per connettersi all'account di archiviazione code di Azure gestito da Microsoft Purview. |
Cloud pubblico: *.compute.governance.azure.com Azure per enti pubblici: *.compute.governance.azure.us Cina: *.compute.governance.azure.cn |
443 | Necessario per connettersi al servizio Microsoft Purview. Attualmente è necessario il carattere jolly perché non è disponibile alcuna risorsa dedicata. |
mcr.microsoft.com | 443 | Necessario per scaricare le immagini. |
*.data.mcr.microsoft.com | 443 | Necessario per scaricare le immagini. |
Nota
A seconda delle origini che gli utenti vogliono analizzare, devono anche consentire altri domini e porte in uscita per altre origini di Azure o esterne.
Versione
In genere, viene rilasciata una nuova versione secondaria del runtime di integrazione self-hosted ogni mese, che include funzionalità, miglioramenti e correzioni di bug.
Ogni versione del runtime di integrazione self-hosted scade tra un anno.
Come controllare la versione corrente
È possibile controllare la versione del runtime di integrazione self-hosted di Kubernetes nel portale o con l'IRCTL.
Portale
- Nel portale di Microsoft Purview passare alla mappa dati.
- Selezionare Runtime di integrazione
- La quarta colonna nella riga di descrizione del runtime di integrazione sarà Version ed è possibile controllare la versione.
IRCTL (1.1.0 e versioni successive)
Il comando describe restituirà la versione del runtime di integrazione.
./irctl describe
Aggiornamento automatico
A partire dalla versione 1.1.0, il runtime di integrazione self-hosted kubernetes supporta l'aggiornamento automatico, che è abilitato per impostazione predefinita. Questa funzionalità garantisce che il runtime di integrazione venga aggiornato automaticamente alla versione più recente gestita da Microsoft circa una volta al mese.
Rifiuto esplicito
È consigliabile mantenere abilitato l'aggiornamento automatico per trarre vantaggio dalle funzionalità e dai miglioramenti più recenti. Tuttavia, è possibile rifiutare esplicitamente l'aggiornamento automatico usando IRCTL. La configurazione dell'aggiornamento automatico viene mantenuta tramite la reinstallazione, quindi non è necessario disabilitarla a ogni installazione.
./irctl config set autoUpdate.enabled false
./irctl config view
Aggiornamento automatico della versione rispetto alla versione più recente
Per garantire la stabilità, l'aggiornamento automatico si trova in genere dietro l'ultima versione con un ritardo di un mese. La versione di aggiornamento automatico è gestita da Microsoft.
Se si vuole aggiornare il runtime di integrazione a versioni più recenti, è necessario eseguire un aggiornamento manuale con IRCTL della versione specifica.