目录

Flink-Session-Cluster-on-Kubernetes

概述

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

Setup Kubernetes

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

/flink-session-cluster-on-kubernetes/image_1dg3t0s3gmp31roe1qs3133s11gi9.png

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

/flink-session-cluster-on-kubernetes/image_1dg3t28b6ftuu6sa0h1vkdg09m.png

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将几个文件拷贝到本地。

/flink-session-cluster-on-kubernetes/image_1dg3v3oj1hhgnkq1lbqtn013nr13.png

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

1
2
3
kubectl create -f jobmanager-service.yaml
kubectl create -f jobmanager-deployment.yaml
kubectl create -f taskmanager-deployment.yaml

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

/flink-session-cluster-on-kubernetes/image_1dg3v5grtt8186p1elc1c4l5uf20.png

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

/flink-session-cluster-on-kubernetes/image_1dg4i94j0jec1di8nm41i6cadq9.png

访问 Flink UI 的地址。

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

/flink-session-cluster-on-kubernetes/image_1dg4ia50o11jtf4bs9817un1nfhm.png

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

1
2
3
kubectl delete -f jobmanager-deployment.yaml
kubectl delete -f taskmanager-deployment.yaml
kubectl delete -f jobmanager-service.yaml

总结

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

警告
本文最后更新于 2017年2月1日,文中内容可能已过时,请谨慎参考。