Skip to main content

概述

AutoMQ Cloud BYOC 环境支持部署到 AWS EKS、GCP GKE、阿里云 ACK、华为云 CCE 等各主流云厂商提供的 Kubernetes 托管平台。本文介绍 AutoMQ 部署到 Kubernetes 平台的基本概念、架构和约束。

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

部署架构

AutoMQ Cloud BYOC 环境部署到 Kubernetes 的架构如下图所示:

说明:

  • AutoMQ BYOC 环境中,控制台组件仍然部署在 Kubernetes 集群外,一般使用云厂商虚拟机部署,通过获取 Kubernetes 集群的管理权限 Config 操作部署安装。

  • 用户通过 AutoMQ 控制台提供的 WebUI 或者 Terraform Provider 管理环境内实例的生命周期。

  • AutoMQ 数据面实例(集群)部署到用户指定的 Kubernetes 集群中。

  • 每个环境可以同时支持多个实例,并支持将多个实例部署到不同的 Kubernetes 集群中(开发中,当前暂时支持 1 个 Kubernetes 集群)。

约束和限制

将 AutoMQ 部署到 Kubernetes 上,用户需要遵循如下约束和限制,因用户操作不当,会导致集群部署和变更失败。

约束 1: 用户需提供符合要求的独占 Kubernetes 集群

AutoMQ 要求独占的 Kubernetes 集群,不得和其他应用系统共享 Kubernetes 集群,原因如下:

  • Kubernetes 的网络隔离风险: AutoMQ 面向高吞吐数据传输场景,集群对网络吞吐要求高。Kubernetes 集群内不同 Pod 间网络隔离并不彻底。AutoMQ 需要独立的 Kubernetes 集群,以避免和用户的其他业务系统相互影响。

  • 运维授权隔离: AutoMQ 所在的 Kubernetes 集群需要提供代运维授权(授权 AutoMQ 服务方访问该集群)。AutoMQ 需要独立的 Kubernetes 集群,以避免应用系统越权。

支持在 Kubernetes 集群内部署多个 AutoMQ 实例(集群)。Kubernetes 集群分配一般建议相同 VPC 下的相同业务线共享 Kubernetes 集群。

约束 2:用户需按要求创建节点池、提供符合要求的机型并保证节点供给

AutoMQ 要求用户按要求创建节点池,AutoMQ 控制台创建实例时会检查用户提供的节点池是否符合要求。具体要求如下:

  • 机型符合要求: AutoMQ 在不同的云厂商选择相应的网络优化型虚拟机实例,并提供最佳的集群性能。创建节点池必须圈选符合要求的机型。具体机型信息参考下方表格:
云厂商
允许的机型列表
Google Cloud
小规格机型:
  • 系列:N2D
  • 机型:n2d-standard-4,4C16G
  • 磁盘:SSD persistent disk,40GB
  • 性能:单机支持 5AKU
华为云
小规格机型:
  • 系列:M7
  • 机型:m7.large.8,2c16g
  • 磁盘:增强型 SSD,40GB
  • 性能:单台机器支持 1.5 AKU

大规格机型:
  • 系列:C6NE
  • 机型:c6ne.xlarge.4,4c16g
  • 磁盘:增强型 SSD,40GB
  • 性能:单台机器支持 5 AKU
  • 节点池角色授权要求: AutoMQ 集群在运行时需要访问对象存储、EBS 等服务。因此,用户必须为节点池授予相应的角色和权限,并确保不会修改和取消授权。

  • 可用区(子网要求): AutoMQ 同时支持单可用区实例、三可用区实例。因此,用户需要为单可用区和三可用区创建对应的节点池,不可混用。

举例:用户需要创建三个 AutoMQ 实例,分别是实例1(可用区 A),实例2(可用区 B),实例3(可用区 A、B、C)。则用户需要创建三个节点池,分别选择可用区 A、可用区 B 和可用区 A+B+C。