Skip to main content

部署到华为云 CCE

参考 概述▸,AutoMQ 支持部署到 Kubernetes 上。本文介绍 AutoMQ 部署到华为云 CCE 平台的安装过程。

info

本文中提及 AutoMQ 产品服务方、AutoMQ 服务方、AutoMQ,均特指 AutoMQ HK Limited及其附属公司。

操作流程

步骤 1:安装环境控制台

参考概述▸,AutoMQ 支持部署到 CCE 集群。在 CCE 部署模式下,首先仍然需要安装 AutoMQ 控制台,再通过控制台界面管理 CCE,将集群部署到 CCE。

在华为云上,同时支持基于云商店和 Terraform 安装环境控制台。

tip

注意:

在 CCE 上 部署 AutoMQ 数据面集群,需要从公网环境拉取 Docker 镜像和 Helm Chart 产物。因此需要 VPC 环境支持通过 SNAT 等方式出公网。配置公网 SNAT 的操作说明请参考 从华为云云商店安装环境▸文档的附录部分

AutoMQ 控制台安装完成后,需要从控制台界面或者 Terraform output 输出菜单获取环境控制台地址、初始用户名、密码。

步骤 2:创建 CCE 集群

参考概述▸,用户需要提前创建独立的 CCE 集群分配给 AutoMQ 使用。用户可访问华为云 CCE 产品控制台按下方步骤操作。

  1. 登录华为云 CCE 控制台。点击购买集群
  1. 选择集群类型为** CCE Turbo** ,并按照建议选择计费模式、版本,集群规模建议选择 200-1000 节点

网络配置部分需要参考下方要求设置:

  • 节点子网: 选择拥有充足的 IP 段的子网,建议不少于/20,避免后期无法创建机器。

  • 容器子网和服务网段: 同样需要选择拥有充足 IP 的子网,建议不少于/20,避免后期无法创建Pod。

  • 服务转发模式: 务必选择 IPVS 模式。

danger

注意:

创建 CCE 集群时,建议取消勾选的“可观测和节点本地域解析加速等插件” 。以免消耗过多的节点资源,导致集群弹性伸缩异常。

  1. 点击创建集群,等待几分钟创建完成。

  2. 集群创建完成后,进入集群详情,插件中心 ,安装** CCE 集群弹性引擎插件** 。

danger

注意:

弹性插件部署时,选择 “小规模” 。以免CCE 的弹性伸缩组件占用过多的节点资源,导致安装失败。

  1. 进入集群配置中心网络配置 Tab ,开启 Pod 访问元数据 。确认后提交。
  1. 进入集群配置中心集群弹性伸缩 Tab ,开启 弹性缩容, 并勾选忽略 DaemonSet 类容器预分配的 CPU 和内存 。确认后提交。

步骤 3:创建CCE 集群公共节点池

参考概述▸,用户需要为 CCE 系统组件创建一个公共节点池,用于部署 CCE 系统组件。参考以下步骤创建符合要求的节点池。

  1. 进入步骤 1 创建的 CCE 集群详情,点击节点管理菜单创建节点池 。公共节点池建议选择至少 2 台 4c8G 的机型用于部署 CCE 系统组件。

步骤 4:创建 IAM 委托和 AutoMQ 专用 CCE 节点池

参考概述▸,用户需要创建 AutoMQ 独享的节点池以及对应的 IAM 委托,以便后续部署实例。参考以下步骤创建 IAM 委托以及符合要求的节点池。

  1. 前往 IAM 控制台,创建 IAM 委托,暂不授权。
  1. 进入步骤 1 创建的 CCE 集群详情,点击节点管理菜单创建节点池
  1. 参考下面的文档设置自定义参数,完成节点池创建。对于表格中没有说明的参数,请按照默认推荐值不要修改。
tip

创建节点池时,只支持单可用区 或者三可用区 ,如果选择了其他数量的可用区,后期无法创建实例。

设置参数
取值说明
节点池名称
  • 说明:按照业务语义,填写一个有区分度的名称即可。
节点类型
  • 说明:指定节点池的机型,请参考文档概述▸。填写机型。
danger

注意: AutoMQ 必须运行在指定机型的 VM 中,创建节点池如果选择了非预设的机型,后续无法使用该节点池。

可用区
  • 说明:根据实际 AutoMQ 集群的需求,选择一个三个可用区
danger

注意:
AutoMQ 要求后续创建集群的可用区和节点池必须完全一致。因此,如果需要创建单可用区的 AutoMQ 集群,则此处创建单可用区节点池;如果需要创建三可用区 AutoMQ 集群,则此处同样创建三可用区节点池,两者不可混用。

委托名称
  • 说明: AutoMQ 集群需要访问 OBS、网络等云服务,因此需要授权节点池上述操作权限。需要用户创建一个独立的 IAM 委托,选择刚刚创建的 IAM 委托。
danger

注意
创建 AutoMQ 专属的节点池时,建议创建新的 IAM 委托,后续在 AutoMQ 控制台为该委托分配相应的操作权限。如果复用了其他 IAM 委托可能会造成权限溢出。

污点
  • 说明:为防止 Kubernetes 集群内其他工作负载占用 AutoMQ 独占节点的资源,需要对 AutoMQ 独占节点池打上污点。
  • 污点的键是dedicated,值是 automq,效果是 NO_SCHEDULE。
  1. 为节点池绑定委托信息,委托是上一步创建的 IAM 委托。同时为节点池添加污点,污点的键是dedicated,值是 automq,效果是 NO_SCHEDULE。
  1. 节点池创建完成后,点击弹性伸缩开启指定可用区的弹性伸缩规则(可选,如不配置则需要手工添加节点)
tip

设置节点池的弹性伸缩规则时,需要确保以下两个配置正确:

节点数范围 :建议至少保留 1 台 ,范围根据后续 AutoMQ 集群的规模合理评估,如果设置太小,则导致无法创建足够的节点部署。

规格选择: 务必把所有符合条件的可用区机型全部开启。

  1. 点击节点池的扩缩容菜单 ,为初始节点池扩容初始的节点容量。建议每个可用区扩容 1 个节点。

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

首次进入 AutoMQ BYOC 控制台,需要创建部署配置,用于设置 Kubernetes 集群信息、OBS Bucket 等信息,之后才可创建实例。

  1. 复制步骤2 创建的 CCE 集群的集群 ID
  1. 找到 Kubectl 配置菜单,**获取 Kubeconfig ** 配置文件。

点击 Kubectl 配置,设置为内网访问,下载 Kubeconfig 配置文件。

  1. 登录控制台,录入集群 ID 和 Kubeconfig等配置,点击下一步。

    1. 云账号 ID:填写当前的云账号主账号 ID,从华为云控制台我的凭证页面查看。

    2. 部署类型:选择 Kubernetes。

    3. Kubernetes 集群:填写 CCE 集群的集群 ID。

    4. Kubeconfig:填写上一步复制的内容。

    5. DNS ZoneId:填写用于部署 AutoMQ 的 Private DNS 的 ZoneId。

    6. Bucket 名称:填写用于部署 AutoMQ 存储消息的数据 Bucket,支持添加多个 OBS Bucket。

tip

注意:

DNS Zone Id 需要从浏览器地址栏获取,Bucket 不得和已有 Ops Bucket 重复。

  1. 填写云资源信息后,生成数据面 CCE 节点池需要授权的权限。参考控制台指引,创建两个自定义授权策略 。然后将授权策略绑定到步骤 4 ** 创建的 AutoMQ IAM 委托,并录入该节点池委托名称** ,点击下一步预览
tip

因华为云 IAM 产品约束,AutoMQ 数据面集群需要分开创建并附加 OBS 权限和 ECS 相关权限。

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