// kube-proxy generates iptables rules to forward traffic from Services to Endpoints // kube-proxy uses iptables-restore to configure the rules atomically, however, // this has the downside that large number of rules take a long time to be processed, // causing disruption. // There are different parameters than influence the number of rules generated: // - ServiceType // - Number of Services // - Number of Endpoints per Service // This test will fail when the number of rules change, so the person // that is modifying the code can have feedback about the performance impact // on their changes. It also runs multiple number of rules test cases to check // if the number of rules grows linearly. func TestNumberIptablesRules(t *testing.T) { … } func Test_generateServiceEndpoints(t *testing.T) { … } // generateServiceEndpoints generate Services with the Type specified and it creates N Endpoints per Service func generateServiceEndpoints(nServices, nEndpoints int, epsFunc func(eps *discovery.EndpointSlice), svcFunc func(svc *v1.Service)) ([]*v1.Service, []*discovery.EndpointSlice) { … }