如何在 AKS 上使用 Azure Pipelines 搭配 HDInsight 上的 Apache Flink®
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 有關此特定預覽的資訊,請參閱 AKS 預覽資訊上的 Azure HDInsight。 如需問題或功能建議,請提交要求 AskHDInsight,並遵循我們以取得 azure HDInsight 社群 更多更新。
在本文中,您將瞭解如何使用 Azure Pipelines 結合 AKS 上的 HDInsight,透過叢集的 REST API 提交 Flink 作業。 我們會使用範例 YAML 管線和 PowerShell 腳本引導您完成此程式,這兩者都會簡化 REST API 互動的自動化。
先決條件
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請建立免費帳戶。
您可以在其中建立存放庫的 GitHub 帳戶。 免費建立一個。
建立
.pipeline
目錄、複製 flink-azure-pipelines.yml 和 flink-job-azure-pipeline.ps1Azure DevOps 組織。 免費建立一個。 如果您的小組已經有一個,請確定您是您想要使用的 Azure DevOps 專案的系統管理員。
能夠在 Microsoft 託管的代理程式上執行管線。 若要使用Microsoft裝載的代理程式,您的 Azure DevOps 組織必須能夠存取Microsoft裝載的平行作業。 您可以購買平行作業,也可以要求免費授與。
在叢集存儲帳戶中建立一個目錄,以複製作業 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) 商標。
建立金鑰保存庫
建立 Azure Key Vault 時,您可以遵循 本教學課程 來建立新的 Azure Key Vault。
建立三個秘密
用於儲存金鑰的叢集存儲金鑰。
用於主體客戶端ID(clientId)或應用ID(appId)的服務主體密鑰。
主體秘密的 service-principal-secret。
為服務主體授予 Azure Key Vault 的存取權限,並分配「Key Vault Secrets Officer」角色。
設定管線
流覽至您的專案,然後按兩下 [項目設定]。
向下卷動並選取 [服務連線],然後選取 [新增服務連線]。
選取 [Azure Resource Manager]。
在驗證方法中,選取 [服務主體] (手動)。
編輯服務連線屬性。 選取您最近建立的服務主體。
按兩下 [驗證] 檢查連線是否已正確設定。 如果您遇到下列錯誤:
然後,您必須將讀者角色指派給訂用帳戶。
之後,驗證應該會成功。
儲存服務連線。
流覽至管線,然後按兩下 [新增管線]。
選取 [GitHub] 作為程序代碼的位置。
選取存放庫。 請參閱 如何在 GitHub 中建立存放庫。 選擇-GitHub-存儲庫圖片。
選取存放庫。 如需詳細資訊,請參閱如何在 GitHub中建立存放庫。
從 [設定管線] 選項,您可以選擇 [現有的 Azure Pipelines YAML 檔案。 選取您稍早複製的分支和管線腳本。 (.pipeline/flink-azure-pipelines.yml)
取代變數區段中的值。
根據您的需求更正程式代碼建置區段,並在 job jar 本機路徑的變數區段中設定 <JOB_JAR_LOCAL_PATH>。
新增管線變數 「action」 並設定值 「RUN」。
您可以在執行管線之前變更變數的值。
新增:此值為預設值。 它會啟動新的作業,如果作業已在執行中,則會使用最新的 jar 更新執行中作業。
SAVEPOINT:此值會取得正在運行作業的儲存點。
DELETE:取消或刪除執行中的作業。
儲存並執行管線。 您可以在 Flink 作業一節中看到入口網站上執行中的作業。
注意
這是使用管線提交作業的一個範例。 您可以遵循 Flink REST API 檔撰寫自己的程式代碼來提交作業。