AWS 发布 Data on EKS (DoEKS) 开源项目
AWS 发布了名为 Data on EKS (DoEKS) 的开源项目,旨在为在 Amazon Elastic Kubernetes Service (EKS) 上部署数据工作负载提供模板、指导文档和最佳实践。虽然其主要关注点是在 Amazon EKS 上运行 Apache Spark,但也提供了其他数据工作负载的蓝图,如 Ray、Apache Airflow、Argo Workflows 和 Kubeflow。
DoEKS 的核心内容
DoEKS 基于 Amazon EKS Blueprints 项目,提供了以下内容:
- 基础设施即代码 (IaC) 模板:支持 Terraform 和 AWS CDK。
- 示例作业:帮助用户快速上手。
- AWS 资源参考:提供与 AWS 服务的集成建议。
- 性能基准报告:帮助用户优化工作负载。
解决方案分类
DoEKS 的解决方案分为五大类:
- 数据分析
- 人工智能/机器学习 (AI/ML)
- 分布式数据库
- 流处理平台
- 调度工作流模式
功能与集成
DoEKS 提供了以下功能与集成:
- 可观测性和日志配置:帮助用户监控和调试工作负载。
- 多租户处理:支持在共享环境中运行多个工作负载。
- 集群自动扩展器选择:优化资源利用。
- 开源工具和 Kubernetes 操作符:与 AWS 托管服务集成,提供更全面的解决方案。
特定模式:EMR on EKS with Karpenter
DoEKS 提供了一个特定模式,用于部署 EMR on EKS with Karpenter。该模式包括以下步骤:
- 创建 EKS 集群控制平面和一个托管节点组。
- 节点组跨多个可用区,处理系统关键 Pod(如 Cluster Autoscaler、CoreDNS、可观测性和日志)。
- 启用 EMR on EKS,并提供一些默认配置。
用户可以通过提供的 Terraform 模板快速部署该模式:
git clone https://github.com/awslabs/data-on-eks.git
cd data-on-eks/analytics/terraform/emr-eks-karpenter
terraform init
export AWS_REGION="us-west-2"
terraform plan
terraform applyArgo Workflows 模式
DoEKS 还提供了 Argo Workflows on EKS 的模式,帮助用户在 Amazon EKS 上使用 Argo Workflows 编排并行作业。该模式包括通过 Spark 操作符和 Amazon SQS 消息创建 Spark 作业的步骤。
流处理平台和分布式数据库蓝图
DoEKS 正在开发流处理平台和分布式数据库的蓝图:
- 流处理平台:将涵盖 Apache Kafka、Apache Flink 和 Apache Pulsar。
- 分布式数据库:将包括 Apache Cassandra、Amazon DynamoDB 和 Apache Presto。
PostgreSQL 工作负载管理
DoEKS 提供了使用 CloudNativePG 在 Kubernetes 上管理 PostgreSQL 工作负载的详细指南,包括存储选择、监控设置以及备份和恢复处理。推荐使用 Amazon Elastic Block Store (EBS) 卷,特别是 io2/io1 或 gp3/gp2 类型。相关示例以 YAML 文件形式提供,用户可以通过 kubectl 命令快速部署。
项目状态与维护
DoEKS 项目基于 Apache 2.0 许可证开源,并非 AWS 官方支持的服务,而是由 AWS 解决方案架构师和 DoEKS Blueprints 社区维护。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。