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

feat: support viploadbalancer controller #2036

Open
wants to merge 16 commits into
base: master
Choose a base branch
from

Conversation

wangxye
Copy link
Member

@wangxye wangxye commented Apr 27, 2024

What type of PR is this?

/kind feature

What this PR does / why we need it:

As the second-level controller for the multi-region load balancer, It is used to support the control of high availability of virtual IP based edge services, monitor poolservice changes, and is used to synchronize vrid changes to the vip agent at the edge.

Special notes for your reviewer:

/assign @rambohe-ch @zyjhtangtang @River-sh @Rui-Gan

Does this PR introduce a user-facing change?

Support left-closed-right-open ip assignment:

# if you use vip for load-balancer, you should annotate the vip address for the nodepool.
kubectl annotate nodepool hangzhou openyurt.io/address-pools="192.168.0.1-192.168.1.0, 10.0.1.0"

# For vip-type load balance, if you want to specify a vip for a service, you needs to annotate the specified address.
kubectl annotate service nginx service.openyurt.io/vip="192.168.0.1-168.0.3, 10.0.1.0"

Copy link

codecov bot commented Apr 27, 2024

Codecov Report

Attention: Patch coverage is 69.06977% with 133 lines in your changes missing coverage. Please review.

Project coverage is 56.57%. Comparing base (3713163) to head (71bf9ce).
Report is 28 commits behind head on master.

Files Patch % Lines
...rset/viploadbalancer/viploadbalancer_controller.go 57.63% 76 Missing and 35 partials ⚠️
...oller/loadbalancerset/viploadbalancer/predicate.go 70.58% 5 Missing and 5 partials ⚠️
...roller/loadbalancerset/viploadbalancer/ip_utils.go 93.44% 4 Missing and 4 partials ⚠️
...anager/webhook/service/v1alpha1/service_default.go 80.00% 1 Missing and 1 partial ⚠️
...anager/webhook/service/v1alpha1/service_handler.go 0.00% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #2036      +/-   ##
==========================================
+ Coverage   56.09%   56.57%   +0.47%     
==========================================
  Files         186      193       +7     
  Lines       18092    18771     +679     
==========================================
+ Hits        10149    10619     +470     
- Misses       6910     7052     +142     
- Partials     1033     1100      +67     
Flag Coverage Δ
unittests 56.57% <69.06%> (+0.47%) ⬆️

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

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@wangxye wangxye force-pushed the feat/vip_lb_controller branch 2 times, most recently from 75e4110 to 77148c3 Compare April 27, 2024 15:24
@wangxye
Copy link
Member Author

wangxye commented Apr 27, 2024

/hold

@wangxye wangxye force-pushed the feat/vip_lb_controller branch 4 times, most recently from f156534 to 963c247 Compare May 4, 2024 08:39
@wangxye
Copy link
Member Author

wangxye commented May 4, 2024

/rerun

@wangxye
Copy link
Member Author

wangxye commented May 4, 2024

/unhold

@wangxye
Copy link
Member Author

wangxye commented May 4, 2024

@wangxye
Copy link
Member Author

wangxye commented May 9, 2024

I have updated the logic of syncPoolService to first synchronize the validly allocated vrids in the cluster first, which is used to support the user-specified mode of vrid deployment. In addition, we will perform unified allocation for unallocated or vrid exceptions, which include cases where the annotation of the vrid is null, the vrid is abnormal, and the vrid is out of range. This layer of logic will also be judged in reconcileDelete.

@wangxye wangxye force-pushed the feat/vip_lb_controller branch 4 times, most recently from 9e138a0 to 51b2104 Compare May 21, 2024 03:31
@wangxye wangxye force-pushed the feat/vip_lb_controller branch 2 times, most recently from a904f69 to aae406d Compare June 16, 2024 15:44
Copy link

sonarcloud bot commented Jun 16, 2024

Quality Gate Passed Quality Gate passed

Issues
8 New issues
0 Accepted issues

Measures
0 Security Hotspots
No data about Coverage
0.5% Duplication on New Code

See analysis details on SonarCloud

Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
…offline status

Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
@wangxye wangxye force-pushed the feat/vip_lb_controller branch 5 times, most recently from 68803c7 to 1465fa1 Compare August 7, 2024 03:02
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
@wangxye
Copy link
Member Author

wangxye commented Aug 7, 2024

create flow:
image
delete flow:
image

Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Signed-off-by: wangxye <xuanyewang.cs@gmail.com>
Copy link

sonarcloud bot commented Aug 8, 2024

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

Successfully merging this pull request may close these issues.

None yet

2 participants