数据平台部署工具:DataHub Helm Charts指南
一、项目目录结构及介绍
DataHub Helm Charts存储库位于https://github.com/acryldata/datahub-helm,它提供了在Kubernetes集群上部署DataHub所需的Helm图表。以下是该仓库的基本目录结构概述及其重要组件:
- Charts: 此目录包含了主图表(
datahub
)以及子图表,每个子图表对应于DataHub的一个主要组件(如GMS, MAEConsumer, MCEConsumer, Frontend)。 - templates: 在每个子图表下,这个目录存放了Kubernetes资源定义的模板,例如Deployment、Service等YAML文件。
- values.yaml: 这是默认的配置文件,用户可以在此基础上进行定制以适应不同的部署需求。
- Chart.yaml: 描述了图表的元数据,包括版本号、依赖关系等。
- README.md: 提供了基本的图表安装说明和快速入门指引。
二、项目的启动文件介绍
DataHub的部署主要通过Helm命令来执行,关键的“启动”操作不直接关联于单个文件,而是通过调用Helm CLI和helm install
命令实现。具体来说,用户首先需要设置好Helm环境,并且确保Kubernetes集群可用。启动的关键在于values.yaml
中的配置调整后执行以下命令:
helm repo add acryldata https://acryldata.github.io/datahub-helm
helm install my-datahub acryldata/datahub --version <desired_version> -f my-values.yaml
这里,my-values.yaml
是你基于values.yaml
自定义的配置文件,用于定制化你的部署。
三、项目的配置文件介绍
values.yaml
values.yaml
是Helm图表的核心配置文件,它包含了所有可配置项的默认值,覆盖了从基本的容器镜像到服务端口、资源限制等详细配置。主要配置模块包括:
- global: 设置全局变量,这些变量可以在整个图表中被引用。
- components: 分别对GMS、MAEConsumer、MCEConsumer、Frontend等DataHub的主要组成部分进行配置,包括它们的服务端口、镜像地址、副本数等。
- dependencies: 配置外部依赖如Kafka、数据库(MySQL, PostgreSQL, MariaDB)、搜索引擎(Elasticsearch)和图索引(Neo4j或Elasticsearch)的信息。
对于每种组件,你可以根据实际需要调整资源配置、环境变量、服务账户等。用户需特别注意的是,在实际部署前,应详细阅读每个部分的注释以理解其用途,并根据实际情况调整配置。
自定义配置文件
为了满足特定环境的需求,用户通常会创建自己的配置文件(如上述提到的my-values.yaml
),通过该文件覆盖values.yaml
中的默认配置,从而实现定制化部署。这涉及修改或添加相应的键值对,以符合本地部署环境的要求。
通过遵循以上结构和步骤,开发者能够有效地配置和部署DataHub到Kubernetes环境中,利用Helm提供的灵活性和便利性。