-
Notifications
You must be signed in to change notification settings - Fork 408
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
feature: add discard cloud service filter in yurthub #440
Conversation
@rambohe-ch: GitHub didn't allow me to assign the following users: your_reviewer. Note that only openyurtio members, repo collaborators and people who have commented on this issue/PR can be assigned. Additionally, issues/PRs can only have 10 assignees at the same time. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
/assign @Fei-Guo |
@Fei-Guo I have updated the context of this feature. and |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Fei-Guo, rambohe-ch 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 |
@rambohe-ch Hi, I am working on "adding yurthub on cloud-side feature" recently. In order to enable yurt-tunnel DNS mode, the kube-proxy on the cloud-side needs the "kube-system/x-tunnel-server-internal-svc" endpoints, so maybe we shoud add an option to let the cloud-side components can still get the endpoint? |
@DrmagicE On cloud nodes, you can add |
What type of PR is this?
/kind feature
What this PR does / why we need it:
background:
Kube-proxy(ipvs mode) will configure ipvs rules for
LoadBalancer
service on the edge node, so if pods(like yurt-tunnel-agent) on edge nodes use ingress ip ofLoadBalancer
service to access the cloud pods(like yurt-tunnel-server), the connection will be refused for ipvs rule will dnat the ingress ip to pod ip on the edge node.And end user have come across the same error that yurt-tunnel-agent failed to use ingress ip of
x-tunnel-server-svc
service to access yurt-tunnel-server. the detailed info is here: [BUG]Yurthub return tunnel-server-service endpoint to kube-proxy on edge node #447solution:
In order to make sure pods on edge nodes can use LoadBalancer service to access pods on cloud nodes, we need disable the kube-proxy dnat rule for LoadBalancer service. so we add a filter named
discardCloudService
for yurthub to discard LoadBalancer service for kube-proxy component.At the same time, some ClusterIP services(like kube-system/x-tunnel-server-internal-svc) are not need to aware by edge nodes, so we also discard these ClusterIP service in the new filter.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?
other Note