你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
教程:将 AKS 应用连接到 Azure SQL 数据库(预览版)
本教程介绍如何使用服务连接器(预览版)将部署到 AKS 的应用程序连接到 Azure SQL 数据库。 你将完成以下任务:
- 创建 Azure SQL 数据库资源
- 使用服务连接器在 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 数据库
使用
az group create
命令创建一个资源组以存储在本教程中创建的 Azure 资源。az group create \ --name $RESOURCE_GROUP \ --location eastus
按照说明在上一步创建的资源组中创建 Azure SQL 数据库。 请记下在本教程中使用的服务器名称、数据库名称和数据库凭据。
使用服务连接器在 AKS 中创建服务连接(预览版)
注册服务连接器和 Kubernetes 配置资源提供程序
使用 az provider register
命令注册服务连接器和 Kubernetes 配置资源提供程序。
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 群集资源。
选择“设置”>“服务连接器(预览版)”>“创建”。
在“基本信息”选项卡上,配置以下设置:
- Kubernetes 命名空间:选择“默认”。
- 服务类型:选择“SQL 数据库”。
- 连接名称:使用服务连接器提供的连接名称或输入自己的连接名称。
- 订阅:选择包含 Azure SQL 数据库服务的订阅。
- SQL Server:选择 SQL Server。
- SQL 数据库:选择 SQL 数据库。
- 客户端类型:用于连接到目标服务的代码语言或框架,例如 Python。
选择“下一步: 身份验证”。 在“身份验证”选项卡上,选择“工作负荷标识”并选择一个“用户分配的托管标识”。
选择“下一步: 网络”>“下一步: 查看 + 创建”>“在 Cloud Shell 上创建”。
Cloud Shell 将启动并执行命令来创建连接。 可能需要在命令处理期间确认某些配置更改。 命令成功运行后,会显示连接信息,可以在“服务连接器”窗格中单击“刷新”按钮以显示最新结果。
警告
Microsoft 建议使用最安全的可用身份验证流。 本过程中介绍的身份验证流程需要非常高的信任度,并携带其他流中不存在的风险。 请仅在无法使用其他更安全的流(例如托管标识)时才使用此流。 选择身份验证方法 工作负荷 ID(建议)。
使用连接字符串在 AKS 群集与 SQL 数据库之间创建服务连接
在 Azure 门户中导航到你的 AKS 群集资源。
选择“设置”>“服务连接器(预览版)”>“创建”。
在“基本信息”选项卡上,配置以下设置:
- Kubernetes 命名空间:选择“默认”。
- 服务类型:选择“SQL 数据库”。
- 连接名称:使用服务连接器提供的连接名称或输入自己的连接名称。
- 订阅:选择包含 Azure SQL 数据库服务的订阅。
- SQL Server:选择 SQL Server。
- SQL 数据库:选择 SQL 数据库。
- 客户端类型:用于连接到目标服务的代码语言或框架,例如 Python。
选择“下一步: 身份验证”。 在“身份验证”选项卡中,输入数据库用户名和密码。
选择“下一步: 网络”>“下一步: 查看 + 创建”>“创建”。
部署成功后,可以在“服务连接器”窗格中查看有关新连接的信息。
更新容器
在 AKS 群集和数据库之间创建连接后,需要检索连接机密并将其部署到容器中。
在 Azure 门户中导航到你的 AKS 群集资源。 在“设置”下,选择“服务连接器(预览版)”。
选择新创建的连接,然后选择“YAML 代码片段”。 此操作将打开一个面板,其中显示服务连接器生成的 YAML 文件示例。
若要将连接机密设置为容器中的环境变量,有两个选项:
使用提供的 YAML 示例代码片段直接创建部署。 该代码片段包含突出显示的部分,显示将作为环境变量插入的机密对象。 选择“应用”以继续使用此方法。
或者,在“资源类型”下,选择“Kubernetes 工作负载”,然后选择现有的 Kubernetes 工作负载。 此操作将新连接的机密对象设置为所选工作负载的环境变量。 选择工作负载后,选择“应用”。
更新应用程序代码
最后一步,按照以下说明更新应用程序代码以使用环境变量。
清理资源
如果不再需要在本教程中创建的资源,可以通过删除 Azure 资源组来删除它们。
使用 az group delete
命令删除资源组。
az group delete --resource-group $RESOURCE_GROUP
相关内容
阅读以下文章,详细了解服务连接器的概念以及它如何帮助 AKS 连接到 Azure 服务: