本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指 AutoMQ HK Limited 及其附属公司。
操作流程
步骤 1:安装环境控制台
参考概述▸,AutoMQ 支持部署到 AKS 集群。在 AKS 部署模式下,首先仍然需要安装 AutoMQ 控制台,再通过控制台界面操作 AKS,将集群部署到 AKS。 在 Azure 上,推荐通过 ARM 模板安装控制台,参考Azure 安装环境▸。步骤 2:创建 Managed Identity
将 AutoMQ 部署到 AKS 时,AutoMQ 数据面集群需要独立的节点池,该节点池需要绑定独立的 Managed Identity,用于访问云资源的权限验证。因此,在创建 AKS 节点池之前,需要提前创建一个 Managed Identity,并授予 AutoMQ 需要的操作权限。操作步骤如下:- 访问 Managed Identity 控制台。点击创建。选择如下参数:
- 资源组:建议和 AutoMQ 控制台资源组保持一致。
- 地域:建议和后续部署 AutoMQ 的目标地域保持一致。

- 点击下一步,创建 Managed Identity 。创建完成后,点击该 Managed Identity,点击 Overview,记录 Client ID,在后续步骤 4 创建部署配置时需要填写。

步骤 3:创建 AKS 集群
参考概述▸,用户需要提前创建独立的 AKS 集群分配给 AutoMQ 使用。用户可访问 Azure AKS 产品控制台按下方步骤操作。- 登录Azure AKS 控制台。点击创建集群 。

-
配置集群基础信息 ,需要关注的配置项,其他配置项保持默认即可。
- 地域:选择正确的地域。
- 资源组:选择正确的资源组,建议和控制台、Storage Account、DNS 等保持一致。
- 可用区:选择 3 个可用区。
-
AKS Pricing Tier: 选择
Standard。 -
Authentication and Authorization:选择
Local account with Kubernetes RBAC。

-
配置节点池 ,需要为 AutoMQ 设置独占的节点池(可以修改默认生成的节点池或者新建一个独立的节点池),需要修改的配置项参考下方参考值,其他配置建议保持不变。
-
Mode:选择
User模式。 - Availability zones:建议选择至少 3 个可用区。
-
Node size:参考概述▸,选择
Standard D4as v5机型。 -
Scale method:选择
Autoscale模式,这样可以根据部署需求自动扩展节点。 - Minimum node count:建议至少选择 3 个节点。
- Max pods per node:建议设置 30。
-
Taints:需要添加一个污点配置,key 是
dedicated,值是automq,效果是NoSchedule。
-
Mode:选择

-
配置网络。 选择目标Virtual Network 和子网。
-
Network Configuration:务必选择
Azure CNI Node Subnet模式,确保 Pod 可以直接使用 VNet IP。 - Bring you own Azure Virtual Network:务必选中和开启。
- Virtual Network:选择 AutoMQ 需要部署的私有网络。
- Cluster subnet:选择 AutoMQ 需要部署的子网。
-
Network Configuration:务必选择

- 保持其他默认配置,创建 AKS 集群。
- 前往 VMSS 控制台,查找 AutoMQ 专用节点池对应的 VMSS ,关联步骤 2 创建的 Managed Identity 。


- 为 AKS 集群分配
Network Contributor权限。 前往 Virtual Network 控制台,找到当前AKS 所在的 Network,点击 IAM 选项,添加 Role Assignment。

Network Contributor 角色权限,然后搜索 System-assigned managed identity ,选择当前 AKS 集群使用的 Managed Identity。

- 为 AutoMQ 使用的节点池创建 Placeholder Deployment 用于加速节点故障场景的 Failover 速度。
automq-low-priority.yaml 的优先级申明文件,执行以下命令,创建优先级申明。
automq-aks-placeholder.yaml 文件。需要根据实际部署的节点池,修改其中的参数:
-
metadata.name: 建议修改成具有意义的 Placeholder 名称,例如placeholder-for-nodegroup-A。 -
replicas: Placeholder pod 预留数量,默认为 1,如果是多可用区部署,建议每个可用区保留 1 台机器,即数量设置为可用区的数量。 -
affinity.nodeAffinity: 用于选择 Placeholder 部署的节点,需要修改matchExpressions中的key和values来精确匹配 AutoMQ 的节点池。在示例的 yaml 文件中提供 2 个选项筛选节点。-
kubernetes.azure.com/agentpool:在 Azure 上使用kubernetes.azure.com/agentpool标签筛选指定的节点池。 -
node.kubernetes.io/instance-type:在 Azure 上使用node.kubernetes.io/instance-type标签筛选指定的节点机型。
-
-
resources:- limits 的 cpu/memory 与 Node Group 具体的规格保持一致,比如2C16G 。
- requests 的 cpu/memory 略小于 Node Group 具体的规格,比如实际占用 3/4 比例,确保 Placeholder Pod 能调度到额外 Node 并保证独占效果,避免集群其他 Pod 非预期占用导致实际 Failover 时因资源不足调度失败。
Running ,并观察它是否被调度到了期望的节点上。
步骤 4:进入环境控制台,创建部署配置
首次进入 AutoMQ BYOC 控制台,需要准备对象存储 Bucket、Private DNS 等资源并创建部署配置,设置 Kubernetes 集群信息和授权才可正常使用。- 前往 Storage Account 控制台,创建一个 Blob Container 用于保存数据的 Data Bucket。需要确保 Storage Account 的地域和 AutoMQ 控制台、AKS 等保持一致。


- 前往 Private DNS Zone 产品控制台,创建一个 Private Zone,用于后续 AutoMQ 实例的接入点解析。需要确保 Zone 的地域和 AutoMQ 控制台、AKS 等保持一致。


-
登录控制台,录入集群名称等配置,点击下一步。
- 部署类型:选择 Kubernetes。
- Kubernetes 集群:填写 AKS 集群的集群名称。
- AKS Resource Group:填写 AKS 集群所在的 Resource Group。
- DNS ZoneId:填写用于部署 AutoMQ 的 Private DNS Zone 的 ZoneId。
- DNS Resource Group:填写用于部署 AutoMQ 的 Private DNS Zone 的 Resource Group。
- Bucket 名称:填写用于部署 AutoMQ 存储消息的数据 Bucket,支持添加多个 Bucket。
- Bucket Endpoint:填写用于部署 AutoMQ 存储消息的数据 Bucket,支持添加多个 Bucket。

- 填写云资源信息后,参考控制台指引,对数据面节点池使用的 Managed Identity (即步骤 2 创建的 Managed Identity ClientID)进行授权。授权操作如下:


Storage Blob Data Contributor 的权限。

- 预览部署配置信息,完成创建 。即可前往实例管理页面创建实例。