部署到百度云 CCE
参考 概述▸,AutoMQ 支持部署到 Kubernetes 上。本文介绍 AutoMQ 部署到百度云 CCE 平台的安装过程。
本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指 AutoMQ HK Limited及其附属公司。
操作流程
步骤 1:安装环境控制台
参考概述▸,AutoMQ 支持部署到 CCE 集群。在 CCE 部署模式下,首先仍然需要安装 AutoMQ 控制台,再通过控制台界面管理 CCE,将数据面集群部署到 CCE。
注意:
在 CCE 上 部署 AutoMQ 数据面集群,需要从公网环境拉取 Docker 镜像和 Helm Chart 产物。因此需要 VPC 环境支持通过 SNAT 等方式出公网。
在百度云上,需要通过云主机 BCC 镜像直接安装 AutoMQ 控制台。安装 AutoMQ 控制台的步骤如下:
-
AutoMQ 控制台通过 IAM 角色授权访问云资源。因此在安装控制台机器之前,需要为 AutoMQ 控制台授予云资源的访问权限。操作步骤如如下,前往 IAM 控制台按如下步骤操作:
-
创建自定义授权策略, 授权策略内容参考下方文档。
-
创建自定义的 IAM 角色 ,选择授权类型为云产品 》BCC 实例 。
-
将授权策略附加到 IAM 角色 。
-
{
"id": "policy_8dc24a2639514662a4cc129f47dcb310",
"version": "v2",
"accessControlList": [
{
"service": "bce:cce",
"region": "bj",
"resource": [
"*"
],
"effect": "Allow",
"permission": [
"READ"
]
},
{
"service": "bce:ld",
"region": "bj",
"resource": [
"*"
],
"effect": "Allow",
"permission": [
"READ",
"OPERATE",
"FULL_CONTROL"
]
},
{
"service": "bce:network",
"region": "bj",
"resource": [
"*"
],
"effect": "Allow",
"permission": [
"READ",
"OPERATE",
"FULL_CONTROL"
]
},
{
"service": "bce:bos",
"region": "*",
"resource": [
"*"
],
"effect": "Allow",
"permission": [
"ListBuckets"
]
},
{
"service": "bce:bos",
"region": "*",
"resource": [
"*"
],
"effect": "Allow",
"permission": [
"READ",
"FULL_CONTROL",
"LIST"
]
}
]
}
-
前往 BCC 控制台,点击创建实例 。按照如下建议设置相关参数,完成 BCC 实例创建。
-
地域和可用区: 选择未来部署数据面集群所在的地域和可用区,保证VPC 内网通信。
-
实例配置: 建议至少选择 2 核 8 G的实例规格。
-
镜像类型: 选择自定义镜像,请提前联系 AutoMQ 技术人员获取 AutoMQ 控制台的主机镜像。
-
存储: 除去默认的系统盘之外还需要额外创建一块至少 40GB 的云磁盘(推荐通用型 SSD)。
-
私有网络: 选择数据面未来部署的 VPC,即使用 AutoMQ 的应用所在的 VPC。
-
安全组: 自行选择,需要注意 设置入站规则,允许 8080 端口入规则。AutoMQ 控制台通过 8080 端口暴露 Web 服务。
-
-
实例创建完成后,选中该 BCC 实例,点击右侧更多操作 ,设置 IAM 角色 。将上一步创建的 IAM 角色绑定到 AutoMQ 控制台所在的 BCC 实例。
-
登录控制台 ,即可进行下一步的初始化配置。
百度云 AutoMQ 控制台首次访问的初始用户名为 admin,初始密码为 BCC 实例的实例 ID。首次登录后需要立即修改密码。
步骤 2:创建 CCE 集群
参考概述▸,用户需要提前创建独立的 CCE 集群分配给 AutoMQ 使用。用户可访问百度云 CCE 产品控制台按下方步骤操作。
- 登录百度云 CCE 控制台。点击创建集群 ,选 择标准托管集群。

- 按照建议选择计费模式、版本,集群规模建议至少选择 L50节点 。

网络配置部分需要参考下方要求设置:
-
私有网络: 选择应用所在的 VPC网络,和控制台所在的网络保持一致。
-
API Server 访问: 选择自动创建负载均衡器。
-
API Server 子网: 选择预期安装的子网。
-
容器子网: 选择用于部署 AutoMQ 实例的子网,建议选择单个子网或三个子网。

-
新建节点,用于部署 Kubernetes 系统组件。添加 Worker 节点时注意如下配置:
-
节点数量:建议至少 2 个节点。
-
节点规格:建议至少 4C8G 的 BCC 实例规格。
-

-
点击创建集群,等待几分钟创建完成。
-
集群创建完成后,进入集群详情,运维和管理 ,组件管理,安装CCE CSI CDS 存储插件 。

步骤 3:创建 IAM 角色和 AutoMQ 专用 CCE 节点池
参考概述▸,用户需要创建 AutoMQ 独享的节点池以及对应的 IAM 角色,以便后续部署实例。参考以下步骤创建 IAM 角色以及符合要求的节点池。
- 前往 IAM 控制台,创建 IAM 角色,暂不授权。

- 进入步骤 2 创建的 CCE 集群详情,点击节点管理菜单 ,创建节点组 。

- 参考下面的文档设置自定义参数,完成节点组创建。对于表格中没有说明的参数,请按照默认推荐值不要修改。
创建节点组时,只支持单可用区 或者三可用区 ,如果选择了其他数量的可用区,后期无法创建实例。
设置参数 | 取值说明 |
---|---|
节点组名称 |
|
节点配置 |
注意: AutoMQ 必须运行在指定机型的 VM 中,创建节点池如果选择了非预设的机型,后续无法使用该节点池。 |
角色名称 |
注意 : 创建 AutoMQ 专属的节点组时,建议创建新的 IAM 角色,后续在 AutoMQ 控制台为该角色分配相应的操作权限。如果复用了其他 IAM 角色可能会造成权限溢出。 |
污点 |
|

- 为节点池绑定 IAM 角色信息,角色信息来自 上一步创建的角色名 。同时为节点池添加污点,污点的键是dedicated,值是 automq,效果是 NO_SCHEDULE。

-
点击创建节点组。
-
为 AutoMQ 使用的节点组创建 Placeholder Deployment 用于加速节点故障场景的 Failover 速度。
工作原理:
Placeholder Deployment 的作用是在 Kubernetes 集群的节点上部署一个低优先级的“占位符”应用,预先占用若干节点。当 AutoMQ 集群的 Pod 所在节点出现故障时,可以快速抢占该 Placeholder 的节点,实现快速恢复。
部署 Placeholder Deployment 可以通过 kubectl 命令或者 Kubernetes 控制台进行操作。
首先点击链接,下载名为 automq-low-priority.yaml
的优先级申明文件,执行以下命令,创建优先级申明。
kubectl apply -f automq-low-priority.yaml
然后点击链接,下载 automq-cce-baidu-placeholder.yaml
文件。需要根据实际部署的节点池,修改其中的参数:
-
metadata.name
: 建议修改成具有意义的 Placeholder 名称,例如placeholder-for-nodegroup-A
。 -
replicas
: Placeholder pod 预留数量,默认为 1,如果是多可用区部署,建议每个可用区保留 1 台机器,即数量设置为可用区的数量。 -
affinity.nodeAffinity
: 用于选择 Placeholder 部署的节点,需要修改matchExpressions
中的key
和values
来精确匹配 AutoMQ 的节点池。在示例的 yaml 文件中提供 2 个选项筛选节点。-
ccs.bj.baidubce.com/node-pool
:在 CCE 上使用ccs.bj.baidubce.com/node-pool
标签筛选指定的节点池。 -
node.kubernetes.io/instance-type
:在 CCE 上使用node.kubernetes.io/instance-type
标签筛选指定的节点机型。
-
-
resources
:-
limits 的 cpu/memory 与 Node Group 具体的规格保持一致,比如2C16G 。
-
requests 的 cpu/memory 略小于 Node Group 具体的规格,比如实际占用 3/4 比例,确保 Placeholder Pod 能调度到额外 Node 并保证独占效果,避免集群其他 Pod 非预期占用导致实际 Failover 时因资源不足调度失败。
-
需要修改的参数片段,参考以下 yaml 文件:
metadata:
# TODO: Replace with your custom name
name: {Replace with your custom placeholder deployment name}
spec:
# TODO: Replace with your custom node nums
replicas: 1
spec:
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: ccs.bj.baidubce.com/node-pool
operator: In
values:
# TODO: Replace with your custom Node Pool Name
- "Replace with your custom Node Pool Name"
- key: node.kubernetes.io/instance-type
operator: In
values:
# TODO: Replace with your custom Node Pool VM Size
- "Replace with your custom Node Pool VM Size"
containers:
- name: placeholder
resources:
# TODO: Replace with your custom Memory and CPU size
limits:
cpu: 2000m
memory: 16Gi
requests:
cpu: 1000m
memory: 12Gi
修改完成后,执行以下命令,安装 Placeholder。
kubectl apply -f automq-cce-baidu-placeholder.yaml
执行完成后,调用以下命令检查 Placeholder Pod 的状态,确保 Placeholder Pod 状态为 Running
,并观察它是否被调度到了期望的节点上。
kubectl get pods -l app=low-priority-placeholder -o wide
步骤 4:进入环境控制台,创建部署配置
首次进入 AutoMQ BYOC 控制台,需要创建部署配置,用于设置 Kubernetes 集群信息、Bucket 等信息,之后才可创建实例。
- 复制步骤2 创建的 CCE 集群的集群 ID 。

-
找到查看集群凭证菜单,获取 Kubeconfig 配置文件。
-
登录控制台,录入集群 ID 和 Kubeconfig等配置,点击下一步。
-
部署类型:选择 Kubernetes。
-
Kubernetes 集群:填写 CCE 集群的集群 ID。
-
Kubeconfig:填写上一步复制的内容。
-
DNS ZoneId:填写用于部署 AutoMQ 的内网 DNS 的 ZoneId。
-
Bucket 名称:填写用于部署 AutoMQ 存储消息的数据 Bucket,支持添加多个 BOS Bucket。
-

- 填写云资源信息后,生成数据面 CCE 节点池需要授权的权限。参考控制台指引,创建授权策略 。然后将授权策略绑定到步骤 3 创建的 AutoMQ IAM 角色,并录入该节点池角色名称 ,点击下一步预览 。

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