-
Notifications
You must be signed in to change notification settings - Fork 40.6k
winkernel proxier cache HNS data to improve syncProxyRules performance #109124
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
winkernel proxier cache HNS data to improve syncProxyRules performance #109124
Conversation
Welcome @daschott! |
Hi @daschott. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. 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. |
/sig windows |
31ec38d
to
df80c5f
Compare
/ok-to-test |
/sig windows |
/test pull-kubernetes-e2e-aks-engine-windows-containerd |
/lgtm |
/retest |
/hold cancel |
…9124-upstream-release-1.23 Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules
…9124-upstream-release-1.24 Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules
…9124-upstream-release-1.22 Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules
… cache HNS data to improve syncProxyRules"
… cache HNS data to improve syncProxyRules"
…ry-pick-of-#109124-upstream-release-1.22 Revert "Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules"
…ry-pick-of-#109124-upstream-release-1.23 Revert "Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules"
…9124-upstream-release-1.22 Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules
…9124-upstream-release-1.23 Automated cherry pick of #109124: Winkernel proxier cache HNS data to improve syncProxyRules
@daschott - which build of Windows Server 2019 has the updates required for the improvements? |
@mastersingh24 KB5014669 or above has the needed changes. However, unfortunately they are disabled by default on Windows Server 2019 and require a RegKey to enable them. Please contact Microsoft support or AKS support for assistance on how to set these. On Windows Server 2022, KB5014665 or above has the needed changes. They are enabled by default and do not require setting any Regkeys. |
What type of PR is this?
/kind bug
What this PR does / why we need it:
Resolves issues with proxy rules taking a long time to be synced on Windows. This PR reduces the number of expensive calls into HNS for each rule sync cycle and improves the overall proxier performance on Windows.
Which issue(s) this PR fixes:
Fixes #109162
This addresses the issue of failing service connectivity after a new Windows node has joined a cluster by reducing the time it takes to sync rules needed to reach desired state. During testing, we can see that time taken by kube-proxy on Windows to complete creation of 2000 services of type ClusterIP on a Node with ~5000 remote endpoints and 15 local endpoints/pods, is reduced as follows:
NOTE: The last row is the performance after applying the changes on a Node with an OS update installed, which is shipping separately through Windows Servicing channels.
Environment Details: The node used to test these changes was a Hyper-V VM with 8vCPU cores and 32GB RAM.
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: