共用方式為


如何在 AKS 上搭配 HDInsight 上的 Apache Flink® 使用 Azure Pipelines

重要

此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群取得更多更新。

在本文中,您將瞭解如何使用 Azure Pipelines 搭配 AKS 上的 HDInsight 來提交 Flink 作業與叢集的 REST API。 我們會使用範例 YAML 管線和 PowerShell 腳本引導您完成此程式,這兩者都會簡化 REST API 互動的自動化。

必要條件

  • Azure 訂閱。 如果您沒有 Azure 訂用帳戶,請建立免費帳戶。

  • 您可以在其中建立存放庫的 GitHub 帳戶。 免費建立一個

  • 建立 .pipeline 目錄、複製 flink-azure-pipelines.ymlflink-job-azure-pipeline.ps1

  • Azure DevOps 組織。 免費建立一個。 如果您的小組已經有一個,請確定您是您想要使用的 Azure DevOps 專案的系統管理員。

  • 能夠在 Microsoft 裝載的代理程式上執行管線。 若要使用 Microsoft 託管的代理程式,Azure DevOps 組織必須能夠存取 Microsoft 託管的平行作業。 您可以購買平行作業,也可以要求免費授與。

  • Flink 叢集。 如果您沒有連結叢集, 請在 AKS 上的 HDInsight 中建立 Flink 叢集。

  • 在叢集記憶體帳戶中建立一個目錄,以複製作業 jar。 稍後您需要在管線 YAML 中設定作業 jar 位置 (<JOB_JAR_STORAGE_PATH>)。

設定管線的步驟

建立 Azure Pipelines 的服務主體

建立 Microsoft Entra 服務主體 以存取 Azure – 在具有參與者角色的 AKS 叢集上授與存取 HDInsight 的許可權,請記下回應中的 appId、密碼和租使用者。

az ad sp create-for-rbac -n <service_principal_name> --role Contributor --scopes <Flink Cluster Resource ID>`

範例:

az ad sp create-for-rbac -n azure-flink-pipeline --role Contributor --scopes /subscriptions/abdc-1234-abcd-1234-abcd-1234/resourceGroups/myResourceGroupName/providers/Microsoft.HDInsight/clusterpools/hiloclusterpool/clusters/flinkcluster`

參考

注意

Apache、Apache Flink、Flink 和相關聯的開放原始碼專案名稱為 Apache Software Foundation (ASF)商標

建立金鑰保存庫

  1. 建立 Azure 金鑰保存庫,您可以遵循本教學課程來建立新的 Azure 金鑰保存庫。

  2. 建立三個秘密

    • 適用於記憶體金鑰的 cluster-storage-key

    • 主體 clientId 或 appId 的 service-principal-key

    • 主體秘密的 service-principal-secret

    顯示如何建立金鑰保存庫的螢幕快照。

  3. 將具有「金鑰保存庫 秘密人員」角色的 Azure 金鑰保存庫 許可權授與服務主體。

設定管線

  1. 流覽至您的專案,然後按兩下 [專案 設定]。

  2. 向下卷動並選取 [服務 連線],然後選取 [新增服務 連線]。

  3. 選取 [Azure Resource Manager]。

    顯示如何選取新服務連線的螢幕快照。

  4. 在驗證方法中,選取 [服務主體] (手動)。

    顯示新服務連線的螢幕快照。

  5. 編輯服務連線屬性。 選取您最近建立的服務主體。

    顯示如何編輯服務連線的螢幕快照。

  6. 按兩下 [驗證] 檢查連線是否已正確設定。 如果您遇到下列錯誤:

    顯示服務連線錯誤訊息的螢幕快照。

  7. 然後,您必須將讀者角色指派給訂用帳戶。

  8. 之後,驗證應該會成功。

  9. 儲存服務連線。

    顯示如何檢視租用戶標識碼的螢幕快照。

  10. 流覽至管線,然後按兩下 [新增管線]。

    顯示如何建立新管線的螢幕快照。

  11. 選取 [GitHub] 作為程序代碼的位置。

  12. 選取 存放庫。 請參閱 如何在 GitHub 中建立存放庫 。 select-github-repo image。

    顯示如何搜尋程式代碼的螢幕快照。

  13. 選取 存放庫。 如需詳細資訊, 請參閱如何在 GitHub 中建立存放庫。

    顯示如何選取 GitHub 存放庫的螢幕快照。

  14. 從 [設定管線] 選項,您可以選擇 [現有的 Azure Pipelines YAML 檔案]。 選取您稍早複製的分支和管線腳本。 (.pipeline/flink-azure-pipelines.yml)

    顯示如何設定管線的螢幕快照。

  15. 取代變數區段中的值。

    顯示如何取代值的螢幕快照。

  16. 根據您的需求更正程式代碼建置區段,並在 <變數區段中設定作業 jar 本機路徑中的JOB_JAR_LOCAL_PATH> 。

    顯示程式代碼組建區段的螢幕快照。

  17. 新增管線變數 「action」 並設定值 「RUN」。

    顯示如何新增管線變數的螢幕快照。

    您可以在執行管線之前變更變數的值。

    • 新增:此值為預設值。 它會啟動新的作業,如果作業已在執行中,則會使用最新的 jar 更新執行中作業。

    • SAVEPOINT:此值會採用執行作業的儲存點。

    • DELETE:取消或刪除執行中的作業。

  18. 儲存並執行管線。 您可以在 Flink 作業一節中看到入口網站上執行中的作業。

    顯示如何儲存和執行管線的螢幕快照。

注意

這是使用管線提交作業的一個範例。 您可以遵循 Flink REST API 檔撰寫自己的程式代碼來提交作業。