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 会包含以下组件:
- JobManager 以 Deployment 的方式运行在 K8S 集群
- TaskManagers 也是以 Deployment 的方式运行在 K8S 集群
- JobManager 的 REST 和 UI 端口通过 Service 部署在 K8S 集群
2.1 Deploy Flink session cluster on Kubernetes
请按照官网的 Appendix将几个文件拷贝到本地。
然后就是部署,按照以下命令。
代码语言:javascript复制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 的方法也很简单,请执行以下命令。
代码语言:javascript复制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 直接提交任务。