使用Bicep进行AKS自动部署
此模板部署了一个AKS(Azure Kubernetes Service)自动集群,并采用了针对生产工作负载的推荐配置。
什么是AKS自动(系统/技术)?
AKS Automatic 是 Azure Kubernetes Service 的一种新模式,提供:
- 针对生产的预设配置优化
- 自动节点配置和扩展
- 内置的安全与监控功能
- 简化管理经验
包含的功能
此模板部署了一个带有以下特性的AKS自动集群:
- ✅ 自动模式 - 简化的集群管理
- ✅ Azure CNI Overlay(Azure 网络接口覆盖网络) - 利用覆盖网络实现高效网络连接
- ✅ 自动扩展 - 自动节点扩展(3-10个节点)
- ✅ 自动升级 - 集群和节点操作系统的稳定通道
- ✅ 工作负载身份 - 适用于容器的现代身份解决方案
- ✅ OIDC 发行者 - 使用OpenID Connect进行身份验证
- ✅ Azure 密钥保管库机密提供程序 - 安全的密钥管理
- ✅ Azure Policy(Azure策略) - 治理与合规
- ✅ Azure Monitor(中文可译为“Azure 监视器”) - 容器洞察与监控
- ✅ Microsoft Defender(微软防御者) - 安全监控
- ✅ 图片清理工具 - 自动清理未使用的镜像
先决条件
- Azure CLI 2.50.0 或更高版本
- Bicep CLI 0.20.0 或更高版本
- 一个Azure订阅
- 创建资源所需的适当权限
部署
1. 登录到Azure
az login
az account set --subscription 2. 创建资源组
az group create --name rg-aks-automatic --location eastus3. 部署AKS模板
选项A:使用参数文件
az deployment group create \
--resource-group rg-aks-automatic \
--template-file main.bicep \
--parameters main.bicepparam选项B:使用内联参数
az deployment group create \
--resource-group rg-aks-automatic \
--template-file main.bicep \
--parameters clusterName=myakscluster \
--parameters location=eastus \
--parameters enableMonitoring=true4. 获取集群凭据
az aks get-credentials --resource-group rg-aks-automatic --name aks-automatic-cluster5. 验证部署
kubectl get nodes
kubectl get pods -A发布MCP天气API并使用API管理
使用 apim-mcp.bicep 为MCP天气服务器提供一个前置的API管理实例。
az deployment group create \
--resource-group rg-aks-automatic \
--template-file apim-mcp.bicep \
--parameters apim-mcp.bicepparam \
--parameters mcpBackendUrl=https://更新 apim-mcp.bicepparam 在运行部署之前,请提供您的出版商详细信息、SKU偏好设置,以及用于暴露在AKS上运行的MCP天气服务器的公共终端。
在Azure AI Foundry中创建GPT-4.1智能体
- 捕获API管理调用URL以及(可选)天气API的订阅密钥。
- 配置一个与Azure OpenAI资源相连的Azure AI Foundry项目,使用
gpt-4.1部署。 - 设置列表中列出的环境变量
agents/README.md或者更新第3单元格中的内容deploy-aks-automatic.ipynb。 - 在笔记本中运行创建代理的步骤(步骤12安装依赖项,步骤13创建代理)。
- 使用步骤14来调用代理并验证它返回了天气数据。原始响应已保存至
agents/agent_invoke_response.json。 - 记下生成的代理ID
agents/agent_response.json以便后续对话或在Azure AI Foundry中运行编排。
参数
| 参数 | 类型 | 描述 | 默认值 |
|---|---|---|---|
clusterName | 字符串 | AKS 集群的名称 | 必填 |
location | 字符串 | Azure 区域 | 资源组位置 |
dnsPrefix | 字符串 | 集群的DNS前缀 | 与clusterName相同 |
enableMonitoring | 布尔值 | 启用 Azure Monitor | 真 |
tags | 对象 | 要应用于资源的标签 | {} |
输出
| 输出 | 描述 |
|---|---|
clusterName | 部署的集群名称 |
clusterId | 集群的资源ID |
clusterFqdn 完全合格域名 | |
oidcIssuerUrl | 工作负载身份的 OIDC 发行者 URL |
kubeletIdentityObjectId | kubelet身份的对象ID |
workspaceId | Log Analytics 工作区 ID |
定制化
更改节点虚拟机大小
编辑 vmSize 代理池配置文件中的参数:
vmSize: 'Standard_DS4_v2' // Change to your preferred size调整自动扩展限制
修改 minCount 和 maxCount 在代理池配置文件中:
minCount: 3 // Minimum nodes
maxCount: 10 // Maximum nodes禁用监控
设置 enableMonitoring 参数为 false:
az deployment group create \
--resource-group rg-aks-automatic \
--template-file main.bicep \
--parameters enableMonitoring=false清理
删除所有资源:
az group delete --name rg-aks-automatic --yes --no-wait额外资源
许可证
此模板根据MIT许可协议提供,不做任何修改。
