问题
在 Flink on K8s 默认提交作业的命令下,我们会指定作业的 JM/TM 的 CPU 和 Memory,最后作业生成的 pod 它的 CPU/Memory 的 request/limit 都是一样的资源,但是作业真实运行时使用的资源远达不到 limit 的值,这样就会造成机器资源浪费(水位不高,但是机器又不能再申请 pod)。
比如下面命令:(指定了 TM 的资源,未指定 JM 资源)
./bin/flink run-application -p 1 -t kubernetes-application -c com.zhisheng.Test \
-Dkubernetes.cluster-id=flink-log-alert-test1 \
-Dtaskmanager.memory.process.size=6g \
-Djobmanager.memory.process.size=2g \
-Dkubernetes.jobmanager.cpu=0.5 \
-Dkubernetes.taskmanager.cpu=1 \
-Dtaskmanager.numberOfTaskSlots=1 \
....
JM:
![fc5308798e025a20edd3b455ed23db28.png](https://img-blog.csdnimg.cn/img_convert/fc5308798e025a20edd3b455ed23db28.png)
TM: