karmada icon indicating copy to clipboard operation
karmada copied to clipboard

Proposal: Add API Server Service Information to `KarmadaStatus`

Open jabellard opened this issue 1 year ago • 2 comments

What type of PR is this?

/kind design

What this PR does / why we need it:

  • Details are contained in the proposal.

Which issue(s) this PR fixes: Fixes #

Special notes for your reviewer:

Does this PR introduce a user-facing change?:

NONE

jabellard avatar Sep 24 '24 11:09 jabellard

:warning: Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 42.30%. Comparing base (5f7fc4f) to head (e8c81c5). Report is 231 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #5599      +/-   ##
==========================================
+ Coverage   34.84%   42.30%   +7.46%     
==========================================
  Files         645      655      +10     
  Lines       44861    55756   +10895     
==========================================
+ Hits        15633    23590    +7957     
- Misses      28021    30652    +2631     
- Partials     1207     1514     +307     
Flag Coverage Δ
unittests 42.30% <ø> (+7.46%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov-commenter avatar Sep 24 '24 12:09 codecov-commenter

The services created by Karmada can have four different types.

In order to make better decisions regarding the most suitable API form, I conducted tests on different service types and documented for reference: doc link

I hope this will be helpful to all !

chaosi-zju avatar Oct 31 '24 09:10 chaosi-zju

Thanks @chaosi-zju for your effort. Yes, we noticed that currently, karmada-operator allows people to config all kinds of Service types, and @jabellard analyzed it in the discussion above. Glad to see the test report, I believe it can help us figure out the situation more clearly.

But, I can't access the doc, just sent a request for that :) :)

RainbowMango avatar Oct 31 '24 12:10 RainbowMango

I conducted tests on different service types and documented for reference: doc link

@chaosi-zju , thank you for this. I'd love to learn more about your findings. I just sent you a request to get access to the doc.

jabellard avatar Oct 31 '24 12:10 jabellard

Hi @jabellard Generally looks good to me.

From the test report @chaosi-zju provided on above, we can tell that:

  1. Currently we supports 2 Service types, there are ClusterIP and NodePort.
  2. The Loadbalancer is not supported yet, but I think it makes sense to enhance it this time. See the use case on When installing karmada using the operator, provide a way to annotate karmadaAPIServer services #4634.

So I just opened #5767 to track all of this. Any thoughts?

@RainbowMango , thanks for sharing this and also to @chaosi-zju for generating this thorough report. I'll keep on eye on these action items. I just pushed some changes to address your comments.

jabellard avatar Nov 01 '24 10:11 jabellard

Thanks Joe, I think we are ready to go after squashing the commits.

We can start to implemente it now.

RainbowMango avatar Nov 02 '24 02:11 RainbowMango

Thanks Joe, I think we are ready to go after squashing the commits.

We can start to implemente it now.

Just squashed. I started the implementation, and will send a PR for that soon.

jabellard avatar Nov 02 '24 10:11 jabellard

[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

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment Approvers can cancel approval by writing /approve cancel in a comment

karmada-bot avatar Nov 02 '24 10:11 karmada-bot

The failing test is unrelated. We can retest it by leaving a comment /retest after all tests are finished.

tracked by #5136

RainbowMango avatar Nov 02 '24 10:11 RainbowMango

/retest

RainbowMango avatar Nov 02 '24 11:11 RainbowMango

  1. Currently we supports 2 Service types, there are ClusterIP and Loadbalancer.

This statement seems to be misspelled, Loadbalancer should be NodePort

chaosi-zju avatar Nov 04 '24 02:11 chaosi-zju

Right, thanks. Updated on https://github.com/karmada-io/karmada/pull/5599#pullrequestreview-2409681400.

RainbowMango avatar Nov 04 '24 03:11 RainbowMango