你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本教程介绍如何使用服务连接器将部署到 AKS 的应用程序连接到 Azure SQL 数据库。 你将完成以下任务:
- 创建 Azure SQL 数据库资源
- 使用服务连接器在 AKS 群集与数据库之间创建连接。
- 更新容器
- 更新应用程序代码
- 清理 Azure 资源。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 一个已部署到 AKS 的应用程序。
-
在 Azure Cloud Shell 中使用 Bash 环境。 有关详细信息,请参阅 Azure Cloud Shell 入门。
如需在本地运行 CLI 参考命令,请安装 Azure CLI。 如果在 Windows 或 macOS 上运行,请考虑在 Docker 容器中运行 Azure CLI。 有关详细信息,请参阅如何在 Docker 容器中运行 Azure CLI。
如果使用的是本地安装,请使用 az login 命令登录 Azure CLI。 若要完成身份验证过程,请遵循终端中显示的步骤。 有关其他登录选项,请参阅 使用 Azure CLI 向 Azure 进行身份验证。
出现提示时,请在首次使用时安装 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 服务: