Flink Native Kubernetes实战 (2)

本次实战是在kubernetes环境创建一个session cluster,然后提交任务到这个sessionc cluster运行,与官方教程不同的是本次实战使用自定义namespace和service account,毕竟生产环境一般是不允许使用default作为namespace和service account的;

实战

在CetnOS7电脑上操作时使用的是root账号;

在kubernetes的节点上,确保有权执行kubectl命令对pod和service进行增删改查,将文件~/.kube/config复制到CentOS7电脑的~/.kube/目录下;

在kubernetes的节点上,执行以下命令创建名为flink-session-cluster的namespace:

kubectl create namespace flink-session-cluster

执行以下命令创建名为flink的serviceaccount:

kubectl create serviceaccount flink -n flink-session-cluster

执行以下命令做serviceaccount和角色的绑定:

kubectl create clusterrolebinding flink-role-binding-flink \ --clusterrole=edit \ --serviceaccount=flink-session-cluster:flink

SSH登录部署了flink的CentOS7电脑,在flink目录下执行以下命令,即可创建名为session001的session cluster,其中-Dkubernetes.namespace参数指定了namespace,另外还指定了一个TaskManager实例使用一个CPU资源、4G内存、内含6个slot:

./bin/kubernetes-session.sh \ -Dkubernetes.namespace=flink-session-cluster \ -Dkubernetes.jobmanager.service-account=flink \ -Dkubernetes.cluster-id=session001 \ -Dtaskmanager.memory.process.size=8192m \ -Dkubernetes.taskmanager.cpu=1 \ -Dtaskmanager.numberOfTaskSlots=4 \ -Dresourcemanager.taskmanager-timeout=3600000

如下图,控制台提示创建成功,并且红框中提示了flink web UI的访问地址是:31753:

在这里插入图片描述

下载镜像和启动容器需要一定的时间,可以用kubectl get和kubectl describe命令观察对应的deployment和pod的状态:

Flink Native Kubernetes实战


9. pod启动成功后访问flink web,如下图,此时还没有创建TaskManager,因此Slot为零:

在这里插入图片描述


10. 回到CentOS7电脑,在flink目录下执行以下命令,将官方自带的WindowJoin任务提交到session cluster:

./bin/flink run -d \ -e kubernetes-session \ -Dkubernetes.namespace=flink-session-cluster \ -Dkubernetes.cluster-id=session001 \ examples/streaming/WindowJoin.jar

控制台提示提交任务成功:

在这里插入图片描述

页面上也会同步显示增加了一个TaskManager,对应6个slot,已经用掉了一个:

在这里插入图片描述

再连续提交5次相同的任务,将此TaskManager的slot用光:

在这里插入图片描述

这时候再提交一次任务,按理来说应该增加一个TaskManager,可是页面如下图所示,TaskManager数量还是1,并没有增加,并且红框中显示新增的任务并没有正常运行起来:

在这里插入图片描述


15. 在kubernetes环境查看pod情况,如下图红框所示,有个新建的pod状态是Pending,看来这就是第七个任务不能执行就是因为这个新建的pod无法正常工作导致的:

在这里插入图片描述


16. 再看看这个namespace的事件通知,如下图红框所示,名为session001-taskmanager-1-2的pod有一条通知信息:由于CPU资源不足导致pod创建失败:

在这里插入图片描述


17. 穷到没钱配置kubernetes环境,连一核CPU都凑不齐:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wspfpz.html