携手 AWS,零成本在 EKS 上体验 AutoMQ 企业版

AutoMQ 是一款贯彻云优先理念来设计的 Kafka 替代产品。AutoMQ 创新地对 Apache Kafka 的存储层进行了基于云的重新设计,在 100% 兼容 Kafka 的基础上通过将持久性分离至 EBS 和 S3 带来了 10x 的成本降低以及 100x 的弹性能力提升,并且相比 Apache Kafka 拥有更佳的性能。

为了让广大开发者以及对 AutoMQ 感兴趣的朋友可以更好的体验 AutoMQ 企业版内核的能力,AutoMQ 与 AWS 合作为大家提供了一个免费试用 AutoMQ 的机会。无需用户提供任何云资源,支付任何费用,真正意义的完全免费。本文将给大家介绍,如何在几分钟内全自动地在 EKS 上部署起一套 AutoMQ 集群。
获取零成本试用专用链接
在 AutoMQ 官网填写试用表单,并且在 业务场景和规模
一栏额外标注【零成本试用】,我们在工作日时间一般会在 30 分钟以内与你取得联系,并且发送给你专用的免费试用访问链接以及 AutoMQ 企业版试用的 Helm Chart,然后即可按照如下方式操作登入免费试用的平台,获得免费 3 天的试用资格。



准备 AutoMQ 使用的云资源
前置条件
Terraform v1.3+
AWS CLI v2.7.0/v1.24.0+, 参考installed 和 configured
kubectl v1.24.0+
AutoMQ 企业版 Helm Chart
仅支持 AWS 上有 Amazon Managed Service for Prometheus 的区域。
部署说明
会部署一个 3 个 Controller(混合节点)、1 个 Broker 节点的 AutoMQ 集群。每台 Broker 的配置为 2c16g。
集群默认开启 SASL_PLAIN 身份认证
集群默认使用的 WAL 引擎是 S3WAL 。关于 AutoMQ 不同 WAL Storage 实现可以参考官方文档。
获取和配置 AWS 身份凭证信息
从 Workshop 登入后的控制台获取身份凭证:

根据不同的环境拷贝对应的执行命令,导出环境变量。本教程以 macOS 系统为例。

在本地导出环境变量后可以通过以下命令确认身份凭证是否生效:

下载 Terraform 配置文件并执行
我们已经为你准备好了默认直接可以使用的 Terraform 配置文件。克隆 automq-eks-example 项目,并且在其中执行命令即可开始部署
Terraform apply 执行完毕后即可自动完成 EKS 集群、VPC 网络、对象存储桶等资源的创建,并输出一些信息。

生成 kubeconfig
确保已经正确配置了 AWS 的身份凭证信息。在 Terraform 的执行目录,执行以下命令来同步 kubeconfig。同步完成后你可以使用 kubectl 命令来访问 EKS 集群。

安装 AutoMQ Helm Chart
安装 storage class
首先安装 AutoMQ 依赖的 Storage Class。Storage Classs 文件可以从前文提到的 automq-eks-example 示例工程中获取。执行如下命令:
配置 Value Yaml
在 automq-eks-example 工程中会包含一个名为 aws.yaml 的 value yaml。Terraform 默认会创建一个 AWS Prometheus Workspace。将之前 terraform apply
执行以后 output 信息当中的 automq_prometheus_metrics_uri 的值替换 aws.yaml 当中的 s3.telemetry.metrics.exporter.uri 的值。

安装 AutoMQ Helm Chart
接着使用 automq-eks-example 项目的 aws.yaml 文件 作为 Helm Chart 的 Value Yaml。我们将使用该 yaml 文件的配置来安装 AutoMQ Helm Chart.
安装 Chart 完毕后会打印接入点的信息:
此时我们可以在 Kubernetes 上看到对应的 Pod

Grafana 查看监控
Terraform 当中已经默认创建了 AWS Prometheus 。参考 automq-eks-example 工程中 grafana-demo 下的 Readme 使用其中的 install.sh 脚本在本地启动一个 Grafana。在本地 http://127.0.0.1:3000 (默认账号密码均为 admin)打开 Grafana 控制台:
添加 AWS Prometheus 的数据源插件

添加 Amazon Managed Service for Prometheus 数据源

添加数据源信息
数据源需要的 Prometheus server URL 可以从 terraform output 中的 automq_prometheus_server_url 获取。Authentication 当中需要一个长时间可用的凭证信息。我们可以通过 workshop 控制台访问 AWS 控制台,在 IAM 服务中创建一个新的 IAM 用户,并且创建一个访问秘钥,分配如下最小化权限:

选择 Access & secret key 将 AWS 上新建用户的 Acess & secret key 凭证信息进行填充。

验证数据
配置完毕后,可以通过 AutoMQ 已经内置好的 Grafana 模板查看 AutoMQ 的监控信息

发送和消费消息
由于默认开启 SASL,需要提前在本地准备好 client.properties 用于身份认证(admin/admin 为默认账号和密码)。
使用 AutoMQ 的镜像启动一个作为 Client 的 Pod,将 client.properties 文件拷贝到 client pod 的 /tmp 目录下。
进入 client pod 以后,到 /opt/automq/kafka 目录下执行如下命令来完成消息的收发:
评论