flink 问题总结(14)"flink-**-cluster-resourcemanager-leader" is forbidden: User "system:serviceaccount...

背景

flink 1.12.2版本,session模式,配置高可用,使用的是k8s高可用。
报错内容如下:

"flink-**-cluster-resourcemanager-leader" is forbidden: User "system:serviceaccount:data-warehouse:default"

解决办法:

可能原因1:没配置serviceaccount

 kubectl create serviceaccount flink  -n 
kubectl create clusterrolebinding flink-role-binding-flink --clusterrole=edit --serviceaccount=default:flink  -namespace= 

可能原因2:创建集群时未引用service-account

-Dkubernetes.service-account=flink

或者
-Dkubernetes.jobmanager.service-account=flink 
-Dkubernetes.taskmanager.service-account=flink

理解:配置项可单独配置jobmanager和taskmanager的service-account。
不使用高可用的时候只需要配置jobmanager即可,因为正常jobmanger会存储taskmanager节点信息到configmap上,需要写权限。
配置高可用需要taskmanager也要配置,因为高可用需要存储相关资源信息。没有权限不行。


image.png

你可能感兴趣的:(flink 问题总结(14)"flink-**-cluster-resourcemanager-leader" is forbidden: User "system:serviceaccount...)