Skip to main content
参考 概述▸,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 控制台的步骤如下:
  1. AutoMQ 控制台通过 IAM 角色授权访问云资源。因此在安装控制台机器之前,需要为 AutoMQ 控制台授予云资源的访问权限。操作步骤如如下,前往 IAM 控制台按如下步骤操作:
    1. 创建自定义授权策略, 授权策略内容参考下方文档。
    2. 创建自定义的 IAM 角色 ,选择授权类型为云产品 》BCC 实例 。
    3. 将授权策略附加到 IAM 角色 。
  1. 前往 BCC 控制台,点击创建实例 。按照如下建议设置相关参数,完成 BCC 实例创建。
    1. 地域和可用区: 选择未来部署数据面集群所在的地域和可用区,保证VPC 内网通信。
    2. 实例配置: 建议至少选择 2 核 8 G的实例规格。
    3. 镜像类型: 选择自定义镜像,请提前联系 AutoMQ 技术人员获取 AutoMQ 控制台的主机镜像。
    4. 存储: 除去默认的系统盘之外还需要额外创建一块至少 40GB 的云磁盘(推荐通用型 SSD)。
    5. 私有网络: 选择数据面未来部署的 VPC,即使用 AutoMQ 的应用所在的 VPC。
    6. 安全组: 自行选择,需要注意设置入站规则,允许 8080 端口入规则。AutoMQ 控制台通过 8080 端口暴露 Web 服务。
  2. 实例创建完成后,选中该 BCC 实例,点击右侧更多操作 ,设置 IAM 角色 。将上一步创建的 IAM 角色绑定到 AutoMQ 控制台所在的 BCC 实例。
  3. 登录控制台 ,即可进行下一步的初始化配置。
百度云 AutoMQ 控制台首次访问的初始用户名为 admin,初始密码为 BCC 实例的实例 ID。首次登录后需要立即修改密码。

步骤 2:创建 CCE 集群

参考概述▸,用户需要提前创建独立的 CCE 集群分配给 AutoMQ 使用。用户可访问百度云 CCE 产品控制台按下方步骤操作。
  1. 登录百度云 CCE 控制台。点击创建集群 ,选择标准托管集群。
  1. 按照建议选择计费模式、版本,集群规模建议至少选择 L50节点 。
网络配置部分需要参考下方要求设置:
  • 私有网络: 选择应用所在的 VPC网络,和控制台所在的网络保持一致。
  • API Server 访问: 选择自动创建负载均衡器。
  • API Server 子网: 选择预期安装的子网。
  • 容器子网: 选择用于部署 AutoMQ 实例的子网,建议选择单个子网或三个子网。
  1. 新建节点,用于部署 Kubernetes 系统组件。添加 Worker 节点时注意如下配置:
    • 节点数量:建议至少 2 个节点。
    • 节点规格:建议至少 4C8G 的 BCC 实例规格。
  1. 点击创建集群,等待几分钟创建完成。
  2. 集群创建完成后,进入集群详情,运维和管理 ,组件管理,安装CCE CSI CDS 存储插件 。

步骤 3:创建 IAM 角色和 AutoMQ 专用 CCE 节点池

参考概述▸,用户需要创建 AutoMQ 独享的节点池以及对应的 IAM 角色,以便后续部署实例。参考以下步骤创建 IAM 角色以及符合要求的节点池。
  1. 前往 IAM 控制台,创建 IAM 角色,暂不授权。
  1. 进入步骤 2 创建的 CCE 集群详情,点击节点管理菜单 ,创建节点组 。
  1. 参考下面的文档设置自定义参数,完成节点组创建。对于表格中没有说明的参数,请按照默认推荐值不要修改。
创建节点组时,只支持单可用区 或者三可用区 ,如果选择了其他数量的可用区,后期无法创建实例。
  1. 为节点池绑定 IAM 角色信息,角色信息来自 上一步创建的角色名 。同时为节点池添加污点,污点的键是dedicated,值是 automq,效果是 NO_SCHEDULE。
  1. 点击创建节点组。

步骤 4:进入环境控制台,创建部署配置

首次进入 AutoMQ BYOC 控制台,需要创建部署配置,用于设置 Kubernetes 集群信息、Bucket 等信息,之后才可创建实例。
  1. 复制步骤2 创建的 CCE 集群的集群 ID 。
  1. 找到查看集群凭证菜单,获取 Kubeconfig 配置文件。
  2. 登录控制台,录入集群 ID 和 Kubeconfig等配置,点击下一步。
    1. 部署类型:选择 Kubernetes。
    2. Kubernetes 集群:填写 CCE 集群的集群 ID。
    3. Kubeconfig:填写上一步复制的内容。
    4. DNS ZoneId:填写用于部署 AutoMQ 的内网 DNS 的 ZoneId。
    5. Bucket 名称:填写用于部署 AutoMQ 存储消息的数据 Bucket,支持添加多个 BOS Bucket。
  1. 填写云资源信息后,生成数据面 CCE 节点池需要授权的权限。参考控制台指引,创建授权策略 。然后将授权策略绑定到步骤 3 创建的 AutoMQ IAM 角色,并录入该节点池角色名称 ,点击下一步预览 。
  1. 预览部署配置信息,完成创建 。即可前往实例管理页面创建实例。

创建 AutoMQ 实例

步骤 1:在控制台创建实例

完成上述部署配置后,在实例管理页面创建 AutoMQ 实例。根据业务需求选择机型和可用区,并确认实例的节点池或标签匹配条件及污点容忍配置。

步骤 2:检查并配置 Placeholder

实例创建后,使用 Placeholder 检查脚本准备故障恢复所需的 Placeholder。生产环境应在接入业务流量前完成此步骤。 需要 Python 3.9+ 和 kubectl。执行身份需要读取所有命名空间的 Controller StatefulSet、Deployment 及集群级 PriorityClass,创建或更新生成文件中的 Namespace、PriorityClass、Deployment,并读取 automq-placeholders 命名空间中的 Pod。 按注释分步执行以下命令:
同一 Kubernetes 集群内,脚本按单个可用区复用 Placeholder。该可用区的节点匹配条件、机型、tolerations 和 Controller requests 等配置一致时,不同实例可共用已有 Deployment,即使实例使用的其他可用区不同。