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

[FLINK-28825][k8s] Add K8S pod scheduler into Kubernetes options #20467

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bzhaoopenstack
Copy link
Contributor

We introduce 3 options for supporting specify the K8S pod scheduler
name.

What is the purpose of the change

(For example: This pull request makes task deployment go through the blob server, rather than through RPC. That way we avoid re-transferring them on each deployment (during recovery).)

This change is introduced by FLIP-250 for supporting specify pod scheduler name by users. This PR introduces 3 options for it.

Brief change log

New options are:
kubernetes.jobmanager.scheduler-name
kubernetes.taskmanager.scheduler-name
kubernetes.scheduler-name

The first two of them can be specified by users to control the k8s pod
scheduler they used for jobmanager and taskmanager. The last one is the
fallback one, the first two options will overwrite it.

Verifying this change

Kubernetes deployment support 3 new options now. Can check the backend pods scheduler name whether is the same with the specified one.

Does this pull request potentially affect one of the following parts:

  • Dependencies (does it add or upgrade a dependency): (no)
  • The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
  • The serializers: (no)
  • The runtime per-record code paths (performance sensitive): (no)
  • Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes)
  • The S3 file system connector: (no)

Documentation

  • Does this pull request introduce a new feature? (yes)
  • If yes, how is the feature documented? (not applicable)

@flinkbot
Copy link
Collaborator

flinkbot commented Aug 5, 2022

CI report:

Bot commands The @flinkbot bot supports the following commands:
  • @flinkbot run azure re-run the last Azure build

@bzhaoopenstack bzhaoopenstack force-pushed the upstream-scheduler-name branch 2 times, most recently from 636032b to 941e29c Compare August 8, 2022 06:21
@bzhaoopenstack bzhaoopenstack changed the title [WIP][FLINK-28825][k8s] Add K8S pod scheduler into Kubernetes options [FLINK-28825][k8s] Add K8S pod scheduler into Kubernetes options Aug 8, 2022
@Grypse
Copy link
Contributor

Grypse commented Aug 9, 2022

The scheduler can be setting with schedulerName in podTemplate simply,I think there is no need to add options to kubernetes config.
image

@bzhaoopenstack
Copy link
Contributor Author

podTemplate simply,I think there is no need to add options to kubernetes config.

Hi, thanks for review. And apologize for my late reply. Yeah, that would be another easy way to set scheduler name via template. But we would also provide a way for users when they submit job via CLI, also for supporting plugin Step Decorators(K8S Custom Schedulers), there would be many cases that users setting the schedulers more frequently or upper-level controller management platform. So I think that would be valuable for introducing setting the said scheduler field via Configuration option. ;-)

@bzhaoopenstack bzhaoopenstack force-pushed the upstream-scheduler-name branch 2 times, most recently from cbacd2a to f12aefd Compare September 29, 2022 11:38
We introduce 3 options for supporting specify the K8S pod scheduler
name.
They are:
kubernetes.jobmanager.scheduler-name
kubernetes.taskmanager.scheduler-name
kubernetes.scheduler-name

The first two of them can be specified by users to control the k8s pod
scheduler they used for jobmanager and taskmanager. The last one is the
fallback one, the first two options will overwrite it.
@gj409237405
Copy link

I have a question.
which mode the code worked for ?
flink on k8s session 、 flink on k8s per-job、 flink on k8s application or flink on k8s native?
thank you

@legendtkl
Copy link
Contributor

Hi, @bzhaoopenstack , what is the status of this PR? Are you still working on it?

Thanks.

@gj409237405
Copy link

I will handle this PR as @bzhaoopenstack successor 。
And there are two PR(#20498 #20636) is replenish of this PR。

And I also commit a PR as replenish 。 bzhaoopenstack#5

I wish more friends can give some advices。 Thanks.

I wish we can merge these PR, which can help flink work on k8s better。

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

Successfully merging this pull request may close these issues.

6 participants