Skip to main content
Version: 4.0.0-rc1

Flink On Kubernetes

前言

为了适应企业级大规模部署流计算任务,且能够在云原生快速、高效、低成本维护Flink Job的需求,TIS在4.0版本中提供了基于Flink On Kubernetes的一键部署方案。

部署模式

TIS提供Flink基于Kubernetes的一键部署方案,实现了:

  1. Kubernetes Application :特点是,每个Flink Job都独享一个专属JobManager,保证了Flink Job执行任务的资源的隔离,Flink Job构建Job Graph 在对应的Job Manager中构建,避免多个Flink Job在TIS中构建JobGraph对TIS构成负载压力。
  2. Kubernetes Session :特点是,多个Flink Job共享同Session中的Job Manager,有效提高了资源利用率,且构建Job Graph的过程是在TIS组件中进行的。

以上两种部署模式为TIS中定义的数据管道提供高效准实时同步功能。用户可自行根据任务的特性,来选择合适的部署模式。

tip

为保证Flink Job的可靠性,非常推荐用户使用Kubernetes Application模式 来部署Flink Job

开始部署

初次安装TIS之后,需要开启数据管道的实时增量任务,需要安装相关插件,如下图:

安装完成,继续填写后续增量引擎配置表单

Kubernetes Application 模式

选择 Kubernetes Application模式,后续部署流程会以该模式发布Flink Job。

需要填写对应的表单信息集群配置中需要配置两部分信息:
  1. Flink Job 对应 Kubernetes容器中配置属性:如,JobManager,TaskManager所需内存、CPU,初始化Slot数量,Flink集群以哪种方式(NodePort,Ingress,LoadBalance)暴露服务,等等
  2. Flink的Docker Image,这部分信息已经作为输入框的默认值,用户没有自定义扩展,则无需修改
  3. Kubernetes集群凭证用户TIS中访问Kubernetes集群调用API所使用
以上对话框表单中Yaml配置内容,需要从之前申请阿里云ACK的连接信息中拷贝而来
Kubernetes Application模式相关配置完成,点击保存&下一步继续完成后续流程

Kubernetes Session 模式

选择 Kubernetes Session模式,后续部署流程会以该模式发布Flink Job。

初次安装TIS,还没有可用的Flink Session可用,需要先创建Flink Session
点击 添加Flink Kubernetes Session 继而来到 Flink Kubernetes Session 创建流程,点击 创建执行器 按钮
需要填写对应的表单信息集群配置中需要配置两部分信息:
  1. Flink Job 对应 Kubernetes容器中配置属性:如,JobManager,TaskManager所需内存、CPU,初始化Slot数量,Flink集群以哪种方式(NodePort,Ingress,LoadBalance)暴露服务,等等
  2. Flink的Docker Image,这部分信息已经作为输入框的默认值,用户没有自定义扩展,则无需修改
  3. Kubernetes集群凭证用户TIS中访问Kubernetes集群调用API所使用
点击k8sImage输入项右侧下拉列表中添加按钮,打开以下对话框
以上对话框表单中Yaml配置内容,需要从之前申请阿里云ACK的连接信息中拷贝而来
完成上一步表单录入,进入下一步表单信息确认页面。

确认无误,点击启动按钮,开始在Kubernetes中部署Flink Session相应资源
等待部署完成,关闭执行状态对话框,会自动跳转到 Flink Kubernetes Session 管理页面

在管理页面中提供了Flink Kubernetes Session的全生命周期的控制功能,例如查看Pod状态,Kubernetes Deployment的启动参数,查看Pod内实时日志,删除Session集群等功能
关闭后自动跳转到以下页面
回到Flink Session一览页面(http://ip:8080/base/flink-cluster-list),发现新增了一条记录
成功添加一个新的Flink Kubernetes Session记录之后,重新回到之前实时增量数据通道创建流程

刷新flinkCluster输入项的下拉列表,选中新添加的Flink Kubernetes Session 实例ID

Kubernetes Session模式相关配置完成,点击保存&下一步继续完成后续流程

后续

需进一步详细了解增量实时同步通道操作流程,请参阅例子: