教學課程:將 AKS 應用程式連線到 Azure SQL Database (預覽)
在本教學課程中,您將了解如何使用服務連接器 (預覽版) 將部署至 AKS 的應用程式連線到 Azure SQL Database。 您要完成下列工作:
- 建立 Azure SQL Database 資源
- 使用服務連接器在 AKS 叢集與資料庫之間建立連線。
- 更新您的容器
- 更新應用程式的程式碼
- 清理 Azure 資源。
必要條件
- 具有有效訂用帳戶的 Azure 帳戶。 免費建立帳戶。
- 部署至 AKS 的應用程式。
-
在 Azure Cloud Shell 中使用 Bash 環境。 如需詳細資訊,請參閱 Azure Cloud Shell 中的 Bash 快速入門。
若要在本地執行 CLI 參考命令,請安裝 Azure CLI。 若您在 Windows 或 macOS 上執行,請考慮在 Docker 容器中執行 Azure CLI。 如需詳細資訊,請參閱〈如何在 Docker 容器中執行 Azure CLI〉。
如果您使用的是本機安裝,請使用 az login 命令,透過 Azure CLI 來登入。 請遵循您終端機上顯示的步驟,完成驗證程序。 如需其他登入選項,請參閱使用 Azure CLI 登入。
出現提示時,請在第一次使用時安裝 Azure CLI 延伸模組。 如需擴充功能詳細資訊,請參閱使用 Azure CLI 擴充功能。
執行 az version 以尋找已安裝的版本和相依程式庫。 若要升級至最新版本,請執行 az upgrade。
建立 Azure SQL Database
使用
az group create
命令,建立資源群組以儲存您在本教學課程中建立的資源。az group create \ --name $RESOURCE_GROUP \ --location eastus
依照指示在上一個步驟中建立的資源群組中建立 Azure SQL Database。 請記下本教學課程中使用的伺服器名稱、資料庫名稱和資料庫認證。
使用服務連接器在 AKS 中建立服務連線 (預覽)
登錄服務連接器和 Kube 設定資源提供者
使用 az provider register
命令登錄服務連接器和 Kube 設定資源提供者。
az provider register --namespace Microsoft.ServiceLinker
az provider register --namespace Microsoft.KubernetesConfiguration
提示
您可以使用 az provider show --namespace "Microsoft.ServiceLinker" --query registrationState
和 az provider show --namespace "Microsoft.KubernetesConfiguration" --query registrationState
命令來檢查這些資源提供者是否已登錄。 如果輸出為 Registered
,則服務提供者已經登錄。
建立新連線
使用 Microsoft Entra 工作負載 ID,在 AKS 叢集與 SQL 資料庫之間建立服務連線
在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。
選取 [設定]>服務連接器 (預覽)>[建立]。
在 [基本] 索引標籤上,設定下列設定。
- [Kube 命名空間]:選取 [預設]。
- [服務類型]:選取 [SQL 資料庫]。
- [連線名稱]:使用服務連接器所提供的連線名稱,或輸入您自己的連線名稱。
- [訂用帳戶]:選取包含 Azure SQL 資料庫服務的訂用帳戶。
- [SQL Server]:選取您的 SQL Server。
- [SQL 資料庫]:選取您的 SQL 資料庫。
- [用戶端類型]:您用來連線至目標服務的程式碼語言或架構,例如:Python。
選取 [下一步:驗證]。 在 [ 驗證] 索引標籤上,選取 [工作負載識別 ],然後選擇一個 [使用者指派的受控識別]。
選取 [下一步:網路>][下一步:檢閱 + 在 Cloud Shell 上建立]。>
Cloud Shell 將會啟動並執行命令來建立連線。 您可能需要在命令處理期間確認一些組態變更。 成功執行命令之後,它會顯示連線資訊,而且您可以在 [服務連接器] 窗格中按兩下 [重新整理] 按鈕,以顯示最新的結果。
警告
Microsoft 建議您使用最安全的可用驗證流程。 這個程序描述的驗證流程需要在應用程式中具備極高的信任度,且伴隨著其他流程並未面臨的風險。 請僅在其他較安全的流程 (例如受控身分識別) 皆不具可行性的情況下,才使用這個流程。 選取驗證方法 工作負載 ID (建議) 。
使用 連接字串,在 AKS 叢集與 SQL 資料庫之間建立服務連線
在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。
選取 [設定]>服務連接器 (預覽)>[建立]。
在 [基本] 索引標籤上,設定下列設定。
- [Kube 命名空間]:選取 [預設]。
- [服務類型]:選取 [SQL 資料庫]。
- [連線名稱]:使用服務連接器所提供的連線名稱,或輸入您自己的連線名稱。
- [訂用帳戶]:選取包含 Azure SQL 資料庫服務的訂用帳戶。
- [SQL Server]:選取您的 SQL Server。
- [SQL 資料庫]:選取您的 SQL 資料庫。
- [用戶端類型]:您用來連線至目標服務的程式碼語言或架構,例如:Python。
選取 [下一步:驗證]。 在 [驗證] 索引標籤上,輸入您的資料庫使用者名稱和密碼。
選取 [下一步:網路]>[下一步:檢閱 + 建立]>[建立]。
部署成功之後,您可以在 [服務連接器] 窗格中檢視新連線的相關資訊。
更新您的容器
現在您已建立 AKS 叢集與資料庫之間的連線,您需要擷取連線秘密,並將其部署在您的容器中。
在 Azure 入口網站中,瀏覽至您的 AKS 叢集資源。 在 [設定] 底下,選取 [服務連接器][預覽]。
選取新建立的連線,然後選取 [YAML 程式碼片段]。 此動作會開啟一個面板,其中顯示服務連接器所產生的範例 YAML 檔案。
若要將連線秘密設定為容器中的環境變數,您有兩個選項:
使用提供的 YAML 範例程式碼片段直接建立部署。 程式碼片段包含醒目提示的區段,其中顯示將插入為環境變數的秘密物件。 選取 [套用] 繼續進行此方法。
或者,在 [資源類型] 下,選取 [Kube 工作負載],然後選取現有的 Kube 工作負載。 此動作會將新連線的秘密物件設定為所選工作負載的環境變數。 選取工作負載之後,請選取 [套用]。
更新應用程式的程式碼
最後一個步驟是,遵循下列指示,更新應用程式程式碼以使用環境變數。
清除資源
如果您之後不再需要依據本教學課程建立的資源,您可以藉由刪除 Azure 資源群組來移除它們。
使用 az group delete
命令刪除您的資源群組。
az group delete --resource-group $RESOURCE_GROUP
相關內容
請閱讀下列文章,以深入了解服務連接器的概念,以及其如何協助 AKS 連線到 Azure 服務: