文章目录
- kubernets 部署
 - v1.25.5
 
- flink on k8s
 - flink version 1.14.6
 
kubernets 部署
v1.25.5
这里我选择的是kubeadm方式部署
虚拟机数量:4
 centos发行版本:CentOS Linux release 7.9.2009 (Core)
 内核版本:Linux hadoop101 5.4.225-1.el7.elrepo.x86_64
部署过程我参考的是https://zhuanlan.zhihu.com/p/558014199
 写的非常详细,参照着一步一步来即可
这里提一个容易踩坑的地方
kubeadm init的可选参数别设置错,特别是和ip相关的
 –control-plane-endpoint :这个就填master节点的ip
 –apiserver-advertise-address:这个填DNS名称或者用来做负载均衡的机器的ip,因为我没有额外的机器作这个,所以填的是master节点ip
如果后面初始化失败,然后提示kubelet状态有问题,那么就需要检查上面列的两个选项,看有没填错。
flink on k8s
flink version 1.14.6
这里我用的native session模式
创建namespace
 kubectl create ns flink
创建serviceaccount
 kubectl create serviceaccount flink-service-account -n flink
用户授权
 kubectl create clusterrolebinding flink-role-binding-flink --clusterrole=edit --serviceaccount=flink:flink-service-account
native-session模式启动
 ./bin/kubernetes-session.sh 
 -Dkubernetes.cluster-id=my-first-flink-cluster 
 -Dkubernetes.container.image=flink:1.14.6-scala_2.12-java8 
 -Dkubernetes.namespace=flink 
 -Dkubernetes.jobmanager.service-account=flink-service-account 
 -Dkubernetes.rest-service.exposed.type=NodePort
这里提一下,用官方文档中的示例启动,flink pod会启动失败,错误信息如下:
 MountVolume.SetUp failed for volume “flink-config-volume” : configmap “flink-config-my-first-flink-cluster” not found
 Back-off restarting failed container
 原因没有找到,如果有知道的希望能告知以下。
 临时解决方法,在启动flink时用kubernetes.container.image参数指定容器镜像,就可以正常启动Flink集群
不过这里启动后pod只有一个,不知道是不是正常?
 

提交任务
 ./bin/flink run 
 –target kubernetes-session 
 -Dkubernetes.cluster-id=my-first-flink-cluster 
 -Dkubernetes.namespace=flink 
 -Dkubernetes.jobmanager.service-account=flink-service-account 
 ./examples/streaming/TopSpeedWindowing.jar
./bin/flink run 
 –target kubernetes-session 
 -Dkubernetes.cluster-id=my-first-flink-cluster 
 -Dkubernetes.namespace=flink 
 -Dkubernetes.jobmanager.service-account=flink-service-account 
 ./examples/streaming/WordCount.jar

删除flink集群
 kubectl delete deployment/my-first-flink-cluster -n flink
 kubectl delete ns flink --force



















