Closed prodanlabs closed 1 year ago
Actually scheduler-estimator
is also used for pulled clusters. If you enable scheduler estimator option in karmada-scheduler, it will look for all estimators. Refer to https://github.com/karmada-io/karmada/blob/59219f4b6adb212a757ff624162fe080cdbb53b7/docs/scheduler-estimator.md#L33
Actually
scheduler-estimator
is also used for pulled clusters. If you enable scheduler estimator option in karmada-scheduler, it will look for all estimators. Refer to
thank you for your reply.
I think the pull mode is used to solve the one-way network problem between the member cluster and karmada, so deploy scheduler-estimator
in the host cluster, scheduler-estimator
cannot connect to the kube-apiserver
that connects to the member cluster.
In the case where the network can communicate in both directions, karmada should recommend users to use the push mode, because from the details, the push mode is more perfect.
Our private cloud's kube-apiserver is not open to the public network, including proxies, for security reasons,so scheduler-estimator is useless for our pull mode. FYR
Hi @prodanlabs, I got you. But some users choose the pull mode not for network reasons. AFAIK, just for HA or some other performance reasons. So I think we should try to use a tunnel or proxy to fix the network barrier, it may be not appropriate to just disable scheduler-estimator
in pull mode. How do you think?
@Garrybest Thanks for the quick response
Yes, I admit that some users still use pull mode even when the network can communicate in both directions.
So I think we should try to use a tunnel or proxy to fix the network barrier
In fact, karmada also provides anp
solutions to solve network obstacles. In pull mode, karmada-kubectl logs, exec and other subcommands can also get logs or enter Pod.
But as far as we are concerned, because of security management regulations, the core business systems on the private cloud are not allowed to be accessed through the public network, nor can network agents or network tunnels be deployed.
My idea is that push mode is recommended when there is no network failure. Pull mode does not need to deploy scheduler estimator, or compromise, in pull mode, scheduler adds a flag to close scheduler estimator event.
It makes sense. We could add a flag to avoid establishing the connection with clusters in pull mode. Would you like to revise again?
It makes sense. We could add a flag to avoid establishing the connection with clusters in pull mode. Would you like to revise again?
OK
Hi @Garrybest , do you have any good suggestions for flag
names?
@Garrybest @RainbowMango can you please review?
Hi @prodanlabs, this flag is not just used for disable event. If we don't add pull-mode clusters into schedulerEstimatorWorker
, the scheduler will never establish a connection with them. So the flag is to disable scheduler estimator in pull-mode clusters.
The option could be like DisableSchedulerEstimatorInPullMode
.
Hi @prodanlabs, this flag is not just used for disable event. If we don't add pull-mode clusters into
schedulerEstimatorWorker
, the scheduler will never establish a connection with them. So the flag is to disable scheduler estimator in pull-mode clusters.The option could be like
DisableSchedulerEstimatorInPullMode
.
Agreed, I'll change it later. thanks
Hi @prodanlabs, this flag is not just used for disable event. If we don't add pull-mode clusters into
schedulerEstimatorWorker
, the scheduler will never establish a connection with them. So the flag is to disable scheduler estimator in pull-mode clusters.The option could be like
DisableSchedulerEstimatorInPullMode
.
done.
/cc @Garrybest @RainbowMango
/assign
/lgtm
Thanks!
Hi @XiShanYongYe-Chang , can you help take a look. https://github.com/karmada-io/karmada/runs/7123991413?check_suite_focus=true
Hi @prodanlabs, have you rebased the newest code in the master branch?
Hi @prodanlabs, have you rebased the newest code in the master branch?
my master branch is not up to date.
There is a bug #2072 which we have fixed by #2074, maybe you can rebase the master branch.
How to rerun CI .
How to rerun CI .
Rebase and push again?
Rebase and push again?
Last time I seemed to see @RainbowMango used the command to rerun CI, I forgot where I saw it
Last time I seemed to see @RainbowMango used the command to rerun CI, I forgot where I saw it
No command can be used to re-trigger the test. sad...
/lgtm /approve /hold cancel
[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: RainbowMango
The full list of commands accepted by this bot can be found here.
The pull request process is described here
Signed-off-by: prodan pengshihaoren@gmail.com
What type of PR is this?
/kind bug /kind feature
What this PR does / why we need it:
In pull mode, if the network of the member cluster and karmada are not two-way communication,
scheduler-estimator
is not available.,In this scenario, we need to add a flag to disablescheduler-estimator
in pull mode.For example, my cluster2 is in pull mode, and scheduler-estimator is not installed, the scheduler has been looking for karmada-scheduler-estimator-cluster2.
Which issue(s) this PR fixes: Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?: