共用方式為


建立和管理 Kubernetes 支援的自我裝載整合運行時間

本文涵蓋適用於Linux的 Kubernetes 型新SHIR功能詳細數據,可改善基礎結構以提供數個優點:

  • 延展性:擴充至數百部機器的能力。
  • 效能:改善掃描工作負載的效能。
  • 安全 性 (容器化) :能夠在 Kubernetes 叢集上擁有容器化安全性,而不是直接在 Windows 計算機上裝載 SHIR

本文涵蓋安裝和管理 Kubernetes 支援的自我裝載整合運行時間的詳細數據。

支持的數據源

如需所有支援來源的清單,請參閱 每個整合運行時間數據表的支持數據源

架構

在高階架構檢視中,安裝以 Kubernetes 為基礎的 SHIR 時,會在使用者 Kubernetes 叢集的節點上自動建立數個 Pod。 此安裝可由名為 IRCTL 的命令行工具觸發, (下列各節) 更詳細的說明。 IRCTL 會連線到 Microsoft Purview 服務以註冊 SHIR,並連線到 Kubernetes 叢集以安裝 SHIR。 

在安裝期間,SHIR 映射會從 MCR (Microsoft容器登錄) 下載到 SHIR Pod。 安裝完成之後,使用者叢集中的Pod會連線到 Microsoft Purview 服務以提取掃描作業。 提取掃描作業時,它可以連接使用者的內部部署數據源以進行數據掃描。

Kubernetes 支援自我裝載整合運行時間的網路架構信息圖。

必要條件

  • 使用 企業 數據控管解決方案Microsoft Purview 帳戶。

  • Kubernetes 叢集:您需要有現有的Linux型 Kubernetes 叢集或準備一個叢集。 節點選取器可以識別節點,其會遵循 Kubernetes 節點選取器的定義。 最小設定:

    • 容器類型:Linux
    • Kubernetes 版本:1.24.9 或更新版本
    • 節點 OS:在 x86 架構上執行的 Linux 作業系統
    • 節點規格:最少八個核心 CPU、32 GB 記憶體,以及至少 80 GB 的可用硬碟空間
    • 節點計數: >=1 (應修正, 而不是 啟用叢集自動調整程式)
    • 每個節點的 Pod 數目: >= 20 (Pod 數目上限 – 不屬於 Self-Hosted IR 的其他 Pod 計數)

    注意事項

    每個節點的資料夾 /var/irstorage/ 都會保留給SHIR。 它可讀取且可寫入至 SHIR。 您可以從此資料夾取得保存的記錄,或將外部驅動程式上傳至此資料夾。 如果 SHIR 不存在,SHIR 就會建立它,而且在刪除 SHIR 之後將不會刪除它。 SHIR 所使用的容器映像是由 Kubernetes 垃圾收集所管理,SHIR 不會清除這些映像。 請為您的 Kubernetes 叢集設定適當的閾值。

  • Kubernetes 叢集網路:您擁有的 Kubernetes 叢集應該能夠連線到 網路需求中所列的端點。

  • 整合運行時間命令行工具:為了在本機管理您的 Microsoft Purview Kubernetes SHIR,您需要名為 IRCTL 的命令行工具。 您可以在 SHIR 建立程式期間下載此工具。 IRCTL 是用來管理 Microsoft Purview SHIR 的命令行工具。 如需詳細資訊,請參閱 IRCTL 檔。

  • Kubernetes 內容:需要 Kubernetes 內容,其中包含 Kubernetes 叢集資訊,以及此叢集的使用者權力和認證,才能與您的 Kubernetes 叢集通訊。 若要簡化使用者的 SHIR 管理許可權設定,您可以從 Kubernetes 管理員 角色開始。 此內容是透過 Kubernetes 叢集的設定所產生,並儲存在組態檔中。 取得此檔案的位置和方式取決於您設定 Kubernetes 叢集。
    • 如果您使用 kubeadm init 來設定 Kubernetes 叢集,您可以在 下 /etc/Kubernetes/admin.conf找到組態檔。
    • 如果您使用 AKS,您可以遵循 AKS 的指引,使用 Az PowerShell 模組命令將此叢集的認證取得到本機電腦。 內容可以直接合併到下 $HOME/.kube/config 方的組態檔。
    • 如果您使用其他工具來設定 Kubernetes 叢集,請參閱 Kubernetes 檔。
    • 當您擁有 Kubernetes 內容的組態檔時,請將其合併至您想要執行 IRCTL 命令之電腦上的組態檔,也就是 $HOME/.kube/config。 或者,您也可以在名為 KUBECONFIG 的環境變數中設定 Kubernetes 內容的組態檔。 如需 Kubernetes 內容的詳細資訊, 請參閱設定多個叢集的存取權。

建立 Kubernetes 支援的自我裝載整合運行時間

若要控制和管理 Kubernetes SHIR,使用者可以下載名為 IRCTL 的命令行工具。 以下是 Kubernetes 支援的自我裝載整合運行時間步驟。

這些步驟將引導您下載 IRCTL,但如需直接連結,請參閱 IRCTL 檔。

設定 Kubernetes 支援的自我裝載整合運行時間

  1. 在 Microsoft Purview 資料對應 中開啟 [整合運行時間] 視窗

  2. 選取 [ + 新增] 按鈕

    Microsoft Purview 資料對應 中 [整合運行時間] 視窗的螢幕快照。

  3. 選取 [自我裝載 ],然後選取 [ 繼續]

    新整合運行時間視窗的螢幕快照,其中已選取自我裝載。

  4. 為您的運行時間命名,然後選取 Kubernetes 服務支援 切換以啟用

    已啟用 Kubernetes 切換的新整合運行時間視窗螢幕快照。

  5. 選取 [建立]

  6. 取 [取得註冊金鑰]

    [檢視整合運行時間] 頁面的螢幕快照,其中已醒目提示 [取得註冊金鑰] 按鈕。

  7. 複製索引鍵值。 您稍後需要它才能在 IRCTL 中執行命令。

    提示

    如有需要,您可以重新產生金鑰或撤銷產生的金鑰。

  8. 選取 [下載 IRCTL 並安裝整合運行時間 ] 連結以下載 IRCTL 工具。 (您也可以依照下列步驟直接下載 IRCTL。)

  9. 在您要執行 IRCTL 命令行的電腦上,從下載安裝 IRCTL。 IRCTL 會依 Kube 組態的內容連線到您的 Kubernetes 叢集。如果未指定內容,IRCTL 會使用目前的內容。 您可以使用下列兩種方式之一來設定內容:

    • 執行 kubectl 命令列並執行此命令,以確認目前的內容:

      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>
      
    • 執行 IRCTL 並執行 --context 以指定 Kube 組態中的內容

  10. 執行 IRCTL 命令行,並使用您複製的註冊金鑰執行此命令。

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

    注意事項

    如果未指定 節點選取器 , 將會使用 Kubernetes 叢集的所有節點。 針對 AKS,建議使用 AKS 節點集區的標籤作為節點選取器,或者您可以自訂 SHIR 節點的不同標籤。

  11. 您會看到此列印輸出:

    [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!  
    

    提示

    如果安裝進度因 Ctrl-C 或其他原因而中斷,則可以使用下列命令來監視安裝進度: ./irctl install status

  12. 安裝完成後,若要檢查 SHIR 的目前狀態,請執行下列命令:

    ./irctl describe
    
  13. 您也可以在 Microsoft Purview 入口網站的 [ 整合運行時間 ] 頁面上檢查 SHIR 的狀態。

使用外部驅動程式設定掃描

掃描某些數據源時,您必須在安裝 SHIR 的電腦上安裝對應的驅動程式,Microsoft Purview 才能與數據源連線。 以下是 Db2 掃描的範例。 如需特定必要條件,請參閱個別的連接器文章。

注意事項

需要這些外部驅動程序的數據源會在其必要條件中列出資訊。

在此範例中,我們將安裝 Db2 驅動程式。 其他驅動程式的步驟會很類似。

  1. 首先,安裝整合運行時間。

  2. 下載驅動程式 (每個來源都會列出其個別驅動程式。) 例如,您可以在這裡找到 DB2 驅動程式: 連線到和管理 Db2

  3. 將驅動程式上傳至整合運行時間的每個節點。 您可以使用如下的指令:

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

    成功的上傳確認看起來會像這樣:

    ========== 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 
    

    注意事項

    如果您取代節點或相應放大至新的節點,則必須再次上傳外部驅動程式。

  4. 使用此指令確認上傳的檔案:

    ./irctl storage list driver/db2
    

    您應該會看到如下的回應:

    ========== 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. 使用步驟 3 中 Destination 值的 DriverLocation 值建立掃描。

    掃描設定視窗的螢幕快照,其中顯示列為驅動程式/db2 的驅動程式位置。

高可用性和延展性

您可以在 Kubernetes 支援的自我裝載整合運行時間安裝期間使用節點選取器,將 Kubernetes 叢集的多個節點指派為具有高可用性。 擁有多個節點的優點如下:

  • 自我裝載整合運行時間的可用性較高,因此不再是掃描的單一失敗點。
  • 執行更多並行掃描。 每個節點可以同時啟用許多掃描執行。 如果您需要更多並行掃描,您可以手動相應放大 Kubernetes 叢集的節點。
  • 掃描 Azure Blob、Azure Data Lake Storage Gen2 和 Azure 檔案儲存體 等某些來源時,每個掃描執行都可以使用多個節點來提升掃描效能。 對於其他來源,掃描只會在其中一個節點上執行。

透過手動相應放大/縮小 Kubernetes 叢集的節點,即可更新 Kubernetes 支援的自我裝載整合運行時間功能。

注意事項

您必須上傳所有必要的驅動程式,以便在每個新節點上進行掃描。

網路需求

網域名稱 輸出埠 描述
公用雲端: <tenantID>-api.purview-service.microsoft.com
Azure Government:<tenantID>-api.purview-service.microsoft.us
中國: <tenantID>-api.purview-service.microsoft.cn
443 聯機到 Microsoft Purview 服務的必要專案。 如果您使用 Microsoft Purview 私人端點,此端點會由帳戶私人端點涵蓋。
公用雲端: <purview_account>.purview.azure.com
Azure Government:<purview_account>.purview.azure.us
中國: <purview_account>.purview.azure.cn
443 聯機到 Microsoft Purview 服務的必要專案。 如果您使用 Microsoft Purview 私人端點,此端點會由帳戶私人端點涵蓋。
公用雲端: <managed_storage_account>.blob.core.windows.net<ingestion_storage_account>.*.blob.storage.azure.net
Azure Government: <managed_storage_account>. blob.core.usgovcloudapi.net<ingestion_storage_account>. blob.core.usgovcloudapi.net
中國: <managed_storage_account>.blob.core.chinacloudapi.cn<ingestion_storage_account>.blob.core.chinacloudapi.cn
443 聯機到 Microsoft Purview 受控 Azure Blob 記憶體帳戶的必要專案。
公用雲端: <managed_storage_account>.queue.core.windows.net<ingestion_storage_account>.*.queue.storage.azure.net
Azure Government: <managed_storage_account>. queue.core.usgovcloudapi.net<ingestion_storage_account>. queue.core.usgovcloudapi.net
中國: <managed_storage_account>.queue.core.chinacloudapi.cn<ingestion_storage_account>.queue.core.chinacloudapi.cn
443 聯機到 Microsoft Purview 受控 Azure 佇列記憶體帳戶的必要專案。
公用雲端: *.compute.governance.azure.com
Azure Government:*.compute.governance.azure.us
中國: *.compute.governance.azure.cn
443 聯機到 Microsoft Purview 服務的必要專案。 目前需要通配符,因為沒有專用資源。
mcr.microsoft.com 443 下載影像的必要專案。
*.data.mcr.microsoft.com 443 下載影像的必要專案。

注意事項

根據使用者想要掃描的來源,他們也需要允許其他 Azure 或外部來源的其他網域和輸出埠。

版本

一般而言,我們每個月都會發行一個新的自我裝載整合運行時間次要版本,其中包括功能、增強功能和錯誤修正。

每個版本的自我裝載整合運行時間都會在一年內到期。

如何檢查目前的版本

您可以在入口網站上或使用 IRCTL 檢查 Kubernetes 自我裝載整合運行時間的版本。

入口網站

  1. 在 Microsoft Purview 入口網站中,流覽至 [數據對應]。
  2. 選取 [整合運行時間]
  3. 整合運行時間描述行中的第四個數據行是 Version,您可以在該處檢查版本。

IRCTL (1.1.0 和更新版本)

describe 命令 會傳回整合運行時間的版本。

./irctl describe

自動更新

從 1.1.0 版開始,Kubernetes 自我裝載整合運行時間支援默認啟用的自動更新。 此功能可確保您的整合運行時間大約每月自動升級至最新Microsoft管理版本一次。

退出

建議您保持啟用自動更新,以受益於最新的功能和增強功能。 不過,您可以選擇使用 IRCTL 退出自動更新。 自動更新組態會透過重新安裝來保存,因此您不需要在每次安裝時加以停用。

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

自動更新版本與最新版本

為了確保穩定性,自動更新通常會落後最新版本,延遲一個月。 自動更新版本是由Microsoft所管理。

如果您想要將整合運行時間升級至較新的版本,則應使用 特定版本的 IRCTL 來執行手動升級。

後續步驟