Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DSIP-][Flink task plugin] Supports submitting flink tasks to k8s #16886

Open
2 tasks done
3043442162 opened this issue Dec 9, 2024 · 4 comments
Open
2 tasks done

[DSIP-][Flink task plugin] Supports submitting flink tasks to k8s #16886

3043442162 opened this issue Dec 9, 2024 · 4 comments

Comments

@3043442162
Copy link

Search before asking

  • I had searched in the DSIP and found no similar DSIP.

Motivation

There are more and more ways to submit flink tasks to run on the k8s, so I recommend that the ds support this feature

Design Detail

No response

Compatibility, Deprecation, and Migration Plan

Compatible with the following versions :dolphinshceduler3.2.2,flink1.17,kubernetes 1.20

Test Plan

increase unit-test coverage

Code of Conduct

@3043442162 3043442162 added DSIP Waiting for reply Waiting for reply labels Dec 9, 2024
@SbloodyS
Copy link
Member

SbloodyS commented Dec 9, 2024

Please provide full design detail like #16481

@SbloodyS SbloodyS added need more information discussion discussion and removed Waiting for reply Waiting for reply labels Dec 9, 2024
@3043442162
Copy link
Author

Ok, I see.I expect to have a more detailed design by the end of the week
好的,我明知道了。 我预计在这周末会有一份更详细的设计

Here's a proven idea, subject to change, and the final design I'll present this weekend: Add parameter checksum support to the flink task type k8 by modifying the init and getScript methods of the current flink task type to complete ds scheduling flink commit tasks to k8.
以下是一个经过验证的想法,可能会有变动,最终设计我会在这周末给出:通过修改当前flink任务类型的init和getScript方法,为flink任务类型k8添加参数校验和支持,从而完成ds调度flink提交到k8的任务。

I hope you will let me know if there are any inadequacies in this approach or if it does not conform to community norms, and I will work hard to achieve this goal
如果这个方式有不足之处或者不符合社区规范希望您告知我,我将为完成这个目标而努力

@3043442162
Copy link
Author

Design detail:
The current FlinkTask has shell and flink api submissions, and I plan to change shell type FlinkTask to support k8s
Execution process analysis:
FlinkTask inherits the AbstractYarnTask and implements its own getScript method. AbstractYarnTask invokes FlinkTask's initSctipt method to generate a script, which is executed by ShellCommandExecutor
UML样例

当前的FlinkTask 有shell和flink api两种提交方式,我预计改动shell类型的FlinkTask,以使得其支持k8s
执行流程分析:
FlinkTask继承了AbstractYarnTask,并实现了自己的getScript方法。AbstractYarnTask会调用FlinkTask的initSctipt方法生成脚本,该脚本会由ShellCommandExecutor执行。

@SbloodyS
Copy link
Member

SbloodyS commented Jan 2, 2025

Maybe you have some deviations in your understanding of design details. The design details you provided are the implementation process of current code. What we need is what you will do.

Compatible with the following versions :dolphinshceduler3.2.2,flink1.17,kubernetes 1.20

May I ask how to be compatible with different versions of flink and k8s. And In what ways to support different deployment mode of flink on k8s in ds's backend and frontend.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants