Flink Session Cluster on K8S

时间:2022-07-22
本文章向大家介绍Flink Session Cluster on K8S,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1 Overview

本文是根据官方文档略加编辑整理出来的。

2 Setup Kubernetes

Mac 环境推荐 Docker for Mac,一键部署。

实验过程中,应该注意你的 K8S 的版本等信息。

2 Flink session cluster on Kubernetes

Flink session cluster 是作为 K8S 的 Deployment,Flink 的作业会被提交到 session cluster。至于什么是 Deployment,不清楚的同学可以看Deployment。Flink session cluster 会包含以下组件:

  1. JobManager 以 Deployment 的方式运行在 K8S 集群
  2. TaskManagers 也是以 Deployment 的方式运行在 K8S 集群
  3. JobManager 的 REST 和 UI 端口通过 Service 部署在 K8S 集群

请按照官网的 Appendix将几个文件拷贝到本地。

然后就是部署,按照以下命令。

kubectl create -f jobmanager-service.yaml
kubectl create -f jobmanager-deployment.yaml
kubectl create -f taskmanager-deployment.yaml

部署成功的样子。成功部署了一个 JobManager 的 Pod 和两个 TaskManager 的 Pod。

部署成功后,通过以下方法来查看 Flink UI。

访问 Flink UI 的地址。

http://localhost:8001/api/v1/namespaces/default/services/flink-jobmanager:ui/proxy/#/overview

停止 Flink session cluster 的方法也很简单,请执行以下命令。

kubectl delete -f jobmanager-deployment.yaml
kubectl delete -f taskmanager-deployment.yaml
kubectl delete -f jobmanager-service.yaml

3 Summary

本文主要介绍了如何在 K8S 上部署一个 Flink session cluster,部署完之后可以在 Flink UI 直接提交任务。