Kubernetes 支援本地資料來源的自架資料整合執行時, (預覽)

Microsoft Purview 資料品質用於本地資料來源,使組織能夠評估、監控並提升儲存在內部系統(如資料庫與舊有平台)中的資料品質。 它支援基於規則的驗證、錯誤偵測與修復工作流程,同時確保組織政策的遵守。 透過整合現有基礎設施,它能在本地及雲端環境中提供一致的數據品質洞察與治理。

透過使用自架式資料整合執行環境,您可以透過安全連接本地資料來源與 Purview,擴展資料品質流程。 本文介紹基於 Kubernetes 的 Linux 自架資料整合執行環境,該系統強化底層基礎設施並提供多項關鍵優勢:

  • 可擴展性:能夠擴展到數百台機器。
  • 效能:掃描工作負載效能提升。
  • 容器化) (安全性:允許在 Kubernetes 叢集上部署容器化,免除直接在 Windows 機器上托管資料整合執行時的需求。

支援的資料來源

  • Oracle
  • SQL Server

架構

從高階架構角度來看,當你安裝基於 Kubernetes 的資料整合執行時,Kubernetes 叢集的節點會自動建立多個 pods。 一個名為 DIRCTL 的命令列工具會觸發此安裝。 DIRCTL 連接 Microsoft Purview 服務以註冊資料整合執行環境,並連接 Kubernetes 叢集安裝自架資料整合執行環境。  

安裝過程中,該程序會從 MCR (Microsoft容器登錄檔下載資料整合執行時影像,) 資料整合執行時 Pods。 安裝完成後,叢集中的 pod 會連接到 Purview 服務以拉取掃描任務。 當掃描工作被拉取時,它可以連接你的本地資料來源以進行資料品質掃描。

DIR 架構

必要條件

資料整合 執行時命令列工具 (DIRCTL)

你需要 資料整合 執行時命令列工具 (DIRCTL) 來設定資料整合執行時。 關於下載與安裝說明,請參閱 「設置 DIRCTL 工具用於自架整合執行時 (預覽) 。

角色

要在 Purview 中建立自架整合執行環境,你需要資料治理管理員(Data Governance Administrator)角色。

Kubernetes 叢集

你需要一個現有的 Linux 基礎 Kubernetes 叢集,或者你必須準備一個。 使用節點選擇器來識別節點,這符合 Kubernetes 節點選擇器的定義。 最低配置:

  • 容器類型:Linux
  • Kubernetes 版本:1.24.9 或更新版本
  • Node OS:基於 Linux 運行於 x86 架構的作業系統
  • Node 規格:最小八核心 CPU、32 GB 記憶體,以及至少 80 GB 可用硬碟空間
  • 節點數量:1 個或多個固定且未啟用的叢集自動調整器 ()
  • 每個節點的莢艙數:20 個或以上 (最大莢艙數——不屬於 IR Self-Hosted 的其他莢艙數量)

注意事項

每個節點的資料夾 /var/irstorage/ 保留給自架整合執行時。 它可讀取並可寫入資料整合執行時。 你可以從這個資料夾取得日誌,或是將外部驅動程式上傳到這個資料夾。 資料整合執行時會建立該資料夾,如果該資料夾不存在,且在資料整合執行時刪除後不會刪除該資料夾。 資料整合執行時使用的容器映像是由 Kubernetes 垃圾回收管理,而資料整合執行時不會清理垃圾回收。 為你的 Kubernetes 叢集設定適當的門檻。

外站連線是拉取容器影像及後續操作所必需的,包括拉取資料品質工作及推送產生的統計資料等活動。

Kubernetes 背景

Kubernetes 上下文包含 Kubernetes 叢集資訊以及使用者的權限與憑證,是與你的 Kubernetes 叢集通訊所必需的。 為了簡化使用者在 DIR 管理權限上的設定,你可以從 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 的相關資訊,請參閱 如何設定多叢集存取權限。

建立一個自架資料整合執行環境

  1. 前往設定中的>Microsoft Purview 整合式目錄>資料整合執行時,然後選擇「新」以建立資料整合執行時。

  2. 輸入自架整合執行時 的名稱 與 描述 ,然後選擇 建立。

    建立新的資料整合執行時

  3. 選擇 「產生金鑰 」以產生註冊金鑰並註冊你的資料整合執行時。

    生成鍵

  4. 複製鍵值並選擇 完成。

    提示

    如果需要,你可以重新產生金鑰或撤銷已產生的金鑰。

  5. 選擇 For Linux 下載 資料整合 執行時命令列 (DIRCTL) 工具。 了解如何 安裝和管理 DIRCTL 的詳細資訊。

    下載命令列工具

  6. 在你想執行 DIRCTL 指令列的機器上,從下載檔安裝 DIRCTL。 DIRCTL 會根據 Kubernetes 設定的上下文連接到你的 Kubernetes 叢集。如果你沒有指定上下文,DIRCTL 會使用目前的上下文。 你可以用兩種方式來設定上下文:

    1. 執行 kubectl 命令列並執行此指令以確認當前上下文:
      • kubectl config get-contexts: 列出機器上所有設定的上下文
      • kubectl config current-context:取得目前的上下文名稱
      • kubectl config use-context <name of context>
    2. 執行 DIRCTL 並執行 -context ,在 Kube 設定中指定上下文。
  7. 執行 DIRCTL Create 指令: ./DIRCTL create - -registration-key <registration-key copied from the portal> 。 DIRCTL Create指令會註冊一個新的Data Integration Runtime,並啟動Kubernetes中以特定Pod建立應用程式,針對已註冊的資料整合執行環境。 它負責資源的配置與設定,這些都是資料整合執行時功能所必需的,同時維持與現有系統需求的相容性。

註冊結束後,您可以在設定中的資料整合執行時頁面查看資料整合執行時的狀態。 狀態顯示 為在線。 你也可以透過執行此指令來檢查資料整合執行時的狀態: ./DIRCTL describe。

提示

以下是資料整合執行時連接且需要被允許列出的公開端點:

  • <purview_account_name.purview.azure.com>
  • Mcr.microsoft.com
  • *.data.mcr.microsoft.com

建立命名空間

  1. 執行以下指令來建立命名空間:

    kubectl create namespace dirctl
    
  2. 建立並套用以下內容的 rolebindingv2.yaml 檔案:

    apiVersion: rbac.authorization.k8s.io/v1 
    kind: RoleBinding 
    metadata:
      name: readwrite-mongodb-secret
      namespace: dirctl
    subjects:
    - kind: ServiceAccount
      name: default
      namespace: dirctl
    roleRef:
      kind: Role
      name: secret-manager
      apiGroup: rbac.authorization.k8s.io
    

    套用檔案:

    kubectl apply -f rolebindingv2.yaml
    
  3. 建立並套用以下內容的 secret-manager-role.yaml 檔案:

    apiVersion: rbac.authorization.k8s.io/v1
    kind: Role
    metadata:
      namespace: dirctl
      name: secret-manager
    rules:
    - apiGroups: [""]
      resources: ["secrets"]
      verbs: ["get", "list", "create", "update", "patch", "delete"]
    - apiGroups: [""]
      resources: ["configmaps"]
      verbs: ["get", "list", "watch"]
    - apiGroups: ["apps"]
      resources: ["deployments"]
      verbs: ["get", "list", "watch","update"]
    

    套用檔案:

    kubectl apply -f secret-manager-role.yaml
    

建立本地資料來源連線與資料整合執行時

連接您的 Oracle 資料庫

透過將連線與資料整合執行時實例關聯來建立連結。

  • 在整合式目錄中,請前往健康管理>資料品質。
  • 選擇你用 Oracle 資料資產建立資料產品的治理領域。
  • 選擇 管理,然後選擇 連線 ,為你的 Oracle 資料庫設定連線。

請加入以下資訊以建立連線:

  • 輸入連線的 顯示名稱 。
  • 請輸入 描述。
  • 在 來源類型中,選擇 Oracle。
  • 選擇你建立的資料 整合執行時 作為前置條件的一部分。
  • 輸入 主機 名稱。
  • 輸入 港口 號碼。
  • 輸入 服務名稱。
  • 接著是 Schema 這個名稱。
  • 選擇一種 認證方法。
  • 輸入用戶名稱。
  • 在憑證輸入Azure訂閱、Azure 金鑰保存庫連線、秘密名稱和秘密版本。
  • 選擇 提交 以完成連線設定。

提示

如果你沒有所有必要資訊,請選擇 另存為草稿 ,等你有其他資訊完成連線設定後再繼續。

這張圖片說明了如何建立連結:

Oracle 連線

連接你的 SQL Server 資料庫

透過將連結與資料整合執行時實例關聯來建立連結,就像你用 Oracle 一樣。 在 SQL Server 中,單一資料庫可以包含多個結構的資料表,因此你可以用一個連線掃描單一資料庫中的所有結構。 連線只接受資料庫資訊,但不接受結構。 像建立其他資料來源類型一樣,建立 SQL Server 的連線。

  • 在整合式目錄中,請前往健康管理>資料品質。
  • 選擇你用 Oracle 資料資產建立資料產品的治理領域。
  • 選擇 管理,然後選擇 連線 ,為你的 Oracle 資料庫設定連線。

請補充以下資訊以成功建立連線:

  • 輸入連線的 顯示名稱 。
  • 請輸入 描述。
  • 在來源類型中,選擇 SQL Server。
  • 選擇你建立的資料 整合執行時 作為前置條件的一部分。
  • 這時伺服器端點就出現了。
  • 輸入資料庫名稱。
  • 選擇一種 認證方法。
  • 輸入用戶名稱。
  • 在憑證輸入Azure訂閱、Azure 金鑰保存庫連線和秘密名稱。
  • 選擇 提交 以完成連線設定。

提示

如果你沒有所有必要資訊,請選擇 另存為草稿 ,等你有其他資訊完成連線設定後再繼續。

這張圖片說明了如何建立連結:

SQLserver 連線

資料品質掃描

完成連線設定後,請依照資料品質分析與掃描文件,以衡量並監控 Oracle 與 SQL Server 本地資料來源的資料品質。

高可用性與可擴展性

在安裝 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 私人端點,帳號私有端點會涵蓋這個端點。
mcr.microsoft.com 443 必須下載圖片。
*.data.mcr.microsoft.com 443 必須下載圖片。