本文为您介绍如何通过注册调度集群连接阿里云VPC中的数据源。
背景介绍
Dataphin支持通过反向代理的方式连接与Dataphin实例在同一地域的阿里云数据库,但是并非所有数据源均支持反向代理的方式,例如,MongoDB、Kafka、StarRocks、API数据源等,针对此类数据源,需通过公网的方式与Dataphin进行连接,但这种方式存在高额的流量费成本和安全风险。
为了解决这个问题,Dataphin支持注册外部调度集群,通过将部署在数据源所在网络环境中的集群注册为调度集群,避免跨网络传输数据的问题。
对于非阿里云VPC的数据源,同样支持采用注册调度集群的方式与该数据源进行连接,您需要准备一台与数据源在同一网络环境下的机器,并在其安装K8s。
集群的网络和规格要求以及K8s的版本信息,请参见购买ACK集群。
集群注册进入Dataphin和后续的使用,请参见在Dataphin中注册集群、使用调度集群。
操作步骤
本文将以阿里云ACK集群为例,从购买ACK集群、在Dataphin中注册集群、使用调度集群三方面进行介绍。
购买ACK集群
本章节针对注册调度集群的网络、规格以及K8s的版本购买时需特别注意的配置项进行描述;其他配置项可根据业务需要进行配置,也可按照系统推荐的默认值进行配置,详情请参见创建ACK托管集群。
登录创建集群页面,单击顶部菜单栏的ACK托管版。
在ACK托管版页签下,配置参数。
集群配置
参数
描述
地域
选择数据源所在VPC对应的地域。
Kubernetes版本
选择Kubernetes的版本,Dataphin适配大于1.22版本的K8s集群。
专有网络
选择数据源所在的VPC,且必须选中为专有网络配置SNAT。
说明选中为专有网络配置SNAT,集群将具有公网访问能力。
API server访问
建议选中使用EIP暴露API server。若不开启您需面临通过非公网上传文件的问题;开启后,可通过控制台上传文件至ACK集群。
网络插件
根据企业网络规则,建议选择Flannel插件。
节点Pod数量
不同的节点Pod数量将影响运行在该集群中的任务并发数,每一个独享任务在运行时都将占用一个Pod,共享任务共同占用一个Pod,推荐选择128及以上。如下是不同任务所需的运行资源和基座资源:
节点池配置
参数
描述
实例规格
建议选择大于4CPU+16GB的实例规格。您可以根据计算器计算您所需的集群规格,请参见Dataphin资源计算器.xlsx。
系统盘
建议选择容量大于80GB的系统盘。
数据盘
建议选择容量大于100GB的数据盘。
期望节点数
建议选择的大于3的节点数。
单击创建集群,完成集群的创建。
在Dataphin中注册集群
在Dataphin的管理中心注册调度集群,详情请参见注册调度集群。
在集群连接配置引导对话框,复制命令模板及下载描述文件。
--请替换命令中的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
登录集群列表,单击目录集群的名称,进入集群详情页面。
在集群详情页面,单击右上角的通过CloudShell管理集群按钮,在脚本编辑框中上传步骤2中下载的描述文件。
文件上传完成后,在脚本编辑框输入解压命令
unzip ${文件名称}.zip
,解压完成后执行cd ${文件名称}
命令进入目录,然后执行安装语句sh install.sh
,当出现Agent install successfully即代表安装成功。在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
。
上述步骤操作完成后,可在Dataphin管理中心 > 系统设置 > 资源设置 > 调度集群管理页签查看集群注册状态,当状态从等待资源上报变更为正常,即为注册成功。
使用调度集群
对于注册的调度集群,可在管理中心 > 系统设置 > 资源设置 > 资源组配置页签中新建自定义资源组,调度资源选择所注册的调度集群,并将资源组授权给可使用的项目,在该项目下创建计算任务时,即可使用该集群与目标数据源进行访问,详情请参见配置离线任务运行资源。
集群注册成功后的第10分钟会开始下载大小约为15G的镜像文件,预计时间为10~20分钟,如果您在此期间使用该集群的资源组执行相关任务,需要等待文件下载和安装完成后才能运行。