Dataphin如何通过注册调度集群连接阿里云VPC中的数据源

本文为您介绍如何通过注册调度集群连接阿里云VPC中的数据源。

背景介绍

Dataphin支持通过反向代理的方式连接与Dataphin实例在同一地域的阿里云数据库,但是并非所有数据源均支持反向代理的方式,例如,MongoDB、Kafka、StarRocks、API数据源等,针对此类数据源,需通过公网的方式与Dataphin进行连接,但这种方式存在高额的流量费成本和安全风险。

为了解决这个问题,Dataphin支持注册外部调度集群,通过将部署在数据源所在网络环境中的集群注册为调度集群,避免跨网络传输数据的问题。

image

说明

对于非阿里云VPC的数据源,同样支持采用注册调度集群的方式与该数据源进行连接,您需要准备一台与数据源在同一网络环境下的机器,并在其安装K8s。

操作步骤

本文将以阿里云ACK集群为例,从购买ACK集群Dataphin中注册集群使用调度集群三方面进行介绍。

购买ACK集群

本章节针对注册调度集群的网络、规格以及K8s的版本购买时需特别注意的配置项进行描述;其他配置项可根据业务需要进行配置,也可按照系统推荐的默认值进行配置,详情请参见创建ACK托管集群

  1. 登录创建集群页面,单击顶部菜单栏的ACK托管版

  2. ACK托管版页签下,配置参数。

    • 集群配置

      参数

      描述

      地域

      选择数据源所在VPC对应的地域。

      Kubernetes版本

      选择Kubernetes的版本,Dataphin适配大于1.22版本的K8s集群。

      专有网络

      选择数据源所在的VPC,且必须选中为专有网络配置SNAT

      说明

      选中为专有网络配置SNAT,集群将具有公网访问能力。

      API server访问

      建议选中使用EIP暴露API server。若不开启您需面临通过非公网上传文件的问题;开启后,可通过控制台上传文件至ACK集群。

      网络插件

      根据企业网络规则,建议选择Flannel插件。

      节点Pod数量

      不同的节点Pod数量将影响运行在该集群中的任务并发数,每一个独享任务在运行时都将占用一个Pod,共享任务共同占用一个Pod,推荐选择128及以上。如下是不同任务所需的运行资源和基座资源:

      image

    • 节点池配置

      参数

      描述

      实例规格

      建议选择大于4CPU+16GB的实例规格。您可以根据计算器计算您所需的集群规格,请参见Dataphin资源计算器.xlsx

      系统盘

      建议选择容量大于80GB的系统盘。

      image

      数据盘

      建议选择容量大于100GB的数据盘。

      image

      期望节点数

      建议选择的大于3的节点数。

  3. 单击创建集群,完成集群的创建。

Dataphin中注册集群

  1. Dataphin管理中心注册调度集群,详情请参见注册调度集群

  2. 集群连接配置引导对话框,复制命令模板及下载描述文件。

    --请替换命令中的node-name信息,指向对应的集群机器
    kubectl label node ${node-name} node-role.kubernetes.io/dataphin-schedule-pool=dataphin-schedule-pool
    kubectl taint node ${node-name} dedicated=dataphin-schedule-pool:NoSchedule

    image

  3. 登录集群列表,单击目录集群的名称,进入集群详情页面。

  4. 在集群详情页面,单击右上角的通过CloudShell管理集群按钮,在脚本编辑框中上传步骤2中下载的描述文件。

    image

  5. 文件上传完成后,在脚本编辑框输入解压命令unzip ${文件名称}.zip,解压完成后执行cd ${文件名称}命令进入目录,然后执行安装语句sh install.sh,当出现Agent install successfully即代表安装成功。

    image

  6. Dataphin任务调度的机器使用以下命令进行打标,后续使用该集群资源组的任务将在已标记的机器上执行。

    • 执行kubectl get node语句获取并复制Node的名称。

    • 执行打标语句(必须执行)kubectl label node ${node-name} node-role.kubernetes.io/dataphin-schedule-pool=dataphin-schedule-pool

    • 执行打污点语句(可选,打上污点后该集群将不可用于其他应用)kubectl taint node ${node-name} dedicated=dataphin-schedule-pool:NoSchedule

      image

  7. 上述步骤操作完成后,可在Dataphin管理中心 > 系统设置 > 资源设置 > 调度集群管理页签查看集群注册状态,当状态从等待资源上报变更为正常,即为注册成功。

使用调度集群

对于注册的调度集群,可在管理中心 > 系统设置 > 资源设置 > 资源组配置页签中新建自定义资源组,调度资源选择所注册的调度集群,并将资源组授权给可使用的项目,在该项目下创建计算任务时,即可使用该集群与目标数据源进行访问,详情请参见配置离线任务运行资源

说明

集群注册成功后的第10分钟会开始下载大小约为15G的镜像文件,预计时间为10~20分钟,如果您在此期间使用该集群的资源组执行相关任务,需要等待文件下载和安装完成后才能运行。