GreptimeDB 企业版部署指南
环境准备
- Docker >= v23.0.0
- kubectl >= v1.21.0
- Helm >= v3.0.0
- kubernetes >= 1.21
前言
GreptimeDB 企业版部署包括以下组件:
- GreptimeDB Operator:用于和 Kubernetes 集群交互。
- KV 存储:用于存储数据库元数据信息(支持云服务或自建),推荐 使用云服务中的 RDS,例如 AWS RDS PostgreSQL。可选以下存储设施:
- PostgreSQL
- MySQL
- ETCD
- GreptimeDB 数据库集群,包含以下组件:
- Meta:数据库集群元数据信息管理组件
- Datanode:数据节点
- Frontend:入口和协议解析节点
- Flownode(可选): 面向持续聚合 workload 的 Flow 计算节点
- Vector Sidecar:指标采集 agent
- GreptimeDB Standalone: 集群自监控存储节点
- GreptimeDB Enterprise Dashboard
- Kafka(可选): 为 GreptimeDB 提供 Remote WAL
- MinIO(可选): 为 GreptimeDB 提供对象存储,推荐使用云服务中的对象存储(例如:AWS S3)
其中打*的为可选安装:
| Pod 组件名称 | 副本数量 | CPU (Core) | 内存 (GB) | 磁盘 (Gi) |
|---|---|---|---|---|
ETCD* | 3 | 2 | 4 | 10 |
| GreptimeDB Operator | 1 | 1 | 1 | |
| Meta | ||||
| Datanode | ||||
| Frontend | ||||
Flownode* | ||||
| Vector Sidecar | ||||
| GreptimeDB Standalone | 1 | 4 | 8 | |
| GreptimeDB Enterprise Dashboard | 1 | |||
Kafka* | 3 | |||
MinIO* | 4 |
部署 GreptimeDB Operator
参考 GreptimeDB Operator 的管理文档获取详细的安装步骤。
部署 ETCD (可选)
参考 管理 ETCD获取详细的安装步骤。
部署 Kafka (可选)
参考 部署 Kafka 集群获取详细的安装步骤。
部署 MinIO (可选)
参考 部署 MinIO 集群获取详细的安装步骤。
部署 GreptimeDB 基础设施测试
参考 部署 GreptimeDB 基础设施测试 获取详细的安装步骤,将测试结果告诉 Greptimeteam。
安装及启动 GreptimeDB
获取 GreptimeDB 企业版镜像
GreptimeDB 企业版以 docker 镜像发布。我们为每位客户提供了一个单独的、托管在阿里云上的私有 docker 仓库,你可以使用 docker pull 命令直接拉取,或在 helm chart 中配置。
你需要在 helm chart 的 values.yaml 文件中配置镜像信息以获得专属的 GreptimeDB 企业版,例如:
customImageRegistry:
enabled: true
# -- pull secret 名称,可自定义,需要和 `image.pullSecrets` 保持一致
secretName: greptimedb-custom-image-pull-secret
registry: <registry>
username: <username>
password: <password>
image:
registry: <registry>
repository: <repository>
tag: <tag>
pullSecrets:
- greptimedb-custom-image-pull-secret
上述配置中,
customImageRegistry 中的 registry、username 和 password 用于创建 k8s 的 pull secret,
image 中的 registry、repository 和 tag 用于指定 GreptimeDB 企业版镜像,
因此 customImageRegistry.secretName 和 image.pullSecrets 需要保持一致以保证拉取镜像时能够找到正确的认证信息。
请联系 Greptime 工作人员获取上述配置项的具体值。 Greptime 工作人员在首次交付给你 GreptimeDB 企业版时,会通过邮件或其他方式告知你镜像仓库地址和用户名密码。请妥善保存,并切勿分享给外部人员!