DataLinkDC Dinky 在 Kubernetes 集群中的部署指南

DataLinkDC Dinky 在 Kubernetes 集群中的部署指南

dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

前言

DataLinkDC Dinky 是一款基于 Flink 的实时计算平台,提供了丰富的功能来管理和开发 Flink 作业。本文将详细介绍如何在 Kubernetes 集群中部署 Dinky 服务,帮助用户快速在生产环境中搭建 Dinky 平台。

环境准备

在开始部署前,请确保您的环境满足以下要求:

  1. Kubernetes 集群:版本要求 1.12 或更高
  2. Helm 工具:版本要求 3.1.0 或更高
  3. 网络连接:能够访问 Docker 镜像仓库

部署步骤详解

第一步:获取 Dinky 安装包

首先需要下载 Dinky 的安装包,其中包含了 Helm Chart 部署所需的全部文件。请确保下载与您 Flink 版本相匹配的 Dinky 版本。

第二步:配置 Helm Chart

Dinky 使用 Helm Chart 进行 Kubernetes 部署,主要配置文件位于 deploy/kubernetes/helm/dinky/values.yaml。我们需要根据实际环境修改以下几个关键配置:

1. 镜像配置
image:
  repository: "dinkydocker/dinky-standalone-server"
  pullPolicy: "Always"
  tag: "1.0.3-flink1.17"
  pullSecret: ""
  • repository:指定 Dinky 的 Docker 镜像仓库
  • tag:指定镜像版本,注意要与您的 Flink 版本匹配
  • pullPolicy:建议设置为 Always 以确保总是获取最新镜像
2. 数据库配置

Dinky 支持两种数据库后端:MySQL 和 PostgreSQL,但只能选择其中一种启用。

MySQL 配置示例

mysql:
  enabled: true
  url: "172.168.1.111:31476"
  auth:
    username: "dinky"
    password: "bigdata123!@#"
    database: "dinky-dev-1-17"

PostgreSQL 配置示例

postgresql:
  enabled: true
  url: "172.168.1.111:31476"
  auth:
    username: "dinky"
    password: "bigdata123!@#"
    database: "dinky-dev-1-17"
3. 外部数据库配置

如果数据库服务部署在 Kubernetes 集群外部,需要配置外部数据库连接:

externalDatabase:
  enabled: true
  type: "mysql"
  url: "10.43.2.12:3306"
  auth:
    username: "root"
    password: "Dinky@1234567!"
    database: "dinky"

externalDatabaseService:
  clusterIP: 10.43.2.12
  port: 3306

externalDatabaseEndpoints:
  ip: 172.168.1.110
  port: 3306
4. Flink 版本配置
spec:
  extraEnv:
    flinkVersion: "1.17"

请确保此处配置的 Flink 版本与您实际使用的版本一致。

5. 资源限制配置
resources:
  limits:
    memory: "2Gi"
    cpu: "1"
  requests:
    memory: "1Gi"
    cpu: "500m"

根据您的集群资源情况合理配置这些参数,避免资源不足或浪费。

第三步:部署 Dinky

完成配置后,使用 Helm 命令进行部署:

cd dinky-release-${FLINK-VERSION}-${DINKY-VERSION}/deploy/kubernetes/helm/dinky
helm install dinky . -n dinky

这条命令会在名为 dinky 的命名空间中部署 Dinky 服务。

第四步:验证部署

部署完成后,可以通过以下方式验证:

  1. 检查 Pod 状态:

    kubectl get pods -n dinky
    

    确保 Pod 状态为 Running

  2. 检查服务状态:

    kubectl get svc -n dinky
    

    确认服务已正确创建

  3. 访问 Dinky Web UI: 根据您的服务暴露方式(NodePort、LoadBalancer 或 Ingress),访问 Dinky 的 Web 界面

高级配置选项

Ingress 配置

如果需要通过 Ingress 暴露 Dinky 服务,可以启用并配置 Ingress:

ingress:
  enabled: true
  className: "nginx"
  annotations:
    kubernetes.io/ingress.class: nginx
  hosts:
    - host: dinky.example.com
      paths:
        - path: /
          pathType: Prefix

服务账户配置

Dinky 可以创建专用的服务账户:

dinkyServiceAccount:
  create: true
  name: "dinky"
  annotations: {}

健康检查配置

Dinky 提供了完善的健康检查机制:

livenessProbe:
  enabled: true
  initialDelaySeconds: 90
  periodSeconds: 30

readinessProbe:
  enabled: true
  initialDelaySeconds: 90
  periodSeconds: 30

卸载 Dinky

如果需要卸载 Dinky 服务,可以使用以下命令:

helm uninstall dinky -n dinky

常见问题解决

  1. 镜像拉取失败

    • 检查网络连接
    • 确认镜像名称和标签正确
    • 如有私有仓库,配置正确的 pullSecret
  2. 数据库连接问题

    • 确认数据库服务正常运行
    • 检查连接字符串、用户名和密码是否正确
    • 确保网络策略允许 Pod 访问数据库
  3. 资源不足

    • 检查 Pod 的 events 获取详细信息
    • 调整 resources 配置或增加集群资源

最佳实践建议

  1. 生产环境建议

    • 使用高可用数据库
    • 配置合理的资源限制
    • 启用持久化存储保存重要数据
  2. 监控建议

    • 配置 Prometheus 监控 Dinky 服务
    • 设置适当的告警规则
  3. 备份策略

    • 定期备份数据库
    • 考虑使用 Velero 等工具备份整个命名空间

通过本文的指导,您应该能够在 Kubernetes 集群中成功部署 Dinky 服务。根据您的具体需求,可以进一步调整配置以获得最佳性能和稳定性。

dinky Dinky is an out-of-the-box, one-stop, real-time computing platform dedicated to the construction and practice of Unified Streaming & Batch and Unified Data Lake & Data Warehouse. Based on Apache Flink, Dinky provides the ability to connect many big data frameworks including OLAP and Data Lake. dinky 项目地址: https://gitcode.com/gh_mirrors/di/dinky

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

班歆韦Divine

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值