Flink On Kubernetes
前言
为了适应企业级大规模部署流计算任务,且能够在云原生快速、高效、低成本维护Flink Job的需求,TIS在4.0版本中提供了基于Flink On Kubernetes
的一键部署方案。
部署模式
TIS提供Flink基于Kubernetes的一键部署方案,实现了:
- Kubernetes Application :特点是,每个Flink Job都独享一个专属JobManager,保证了Flink Job执行任务的资源的隔离,Flink Job构建Job Graph 在对应的Job Manager中构建,避免多个Flink Job在TIS中构建JobGraph对TIS构成负载压力。
- 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。
需要填写对应的表单信息集群配置中需要配置两部分信息:
| 以上对话框表单中Yaml配置内容,需要从之前申请阿里云ACK的连接信息中拷贝而来 |
Kubernetes Application模式相关配置完成,点击保存&下一步继续完成后续流程 |
Kubernetes Session 模式
选择 Kubernetes Session模式
,后续部署流程会以该模式发布Flink Job。
初次安装TIS,还没有可用的Flink Session可用,需要先创建Flink Session | |
点击 添加Flink Kubernetes Session 继而来到 Flink Kubernetes Session 创建流程,点击 创建执行器 按钮 | |
需要填写对应的表单信息集群配置中需要配置两部分信息:
| 点击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模式相关配置完成,点击保存&下一步继续完成后续流程 |
后续
需进一步详细了解增量实时同步通道操作流程,请参阅例子: