From 6760aa672bcb38f5c7704af982a8106b630721a4 Mon Sep 17 00:00:00 2001 From: Izabela Gomes Date: Thu, 16 May 2024 17:07:04 -0400 Subject: [PATCH 1/2] change private K8s service to be a headless service (#15170) * change private K8s service to be a headless service * use clusteripnone constant --- pkg/reconciler/serverlessservice/resources/services.go | 3 ++- pkg/reconciler/serverlessservice/resources/services_test.go | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkg/reconciler/serverlessservice/resources/services.go b/pkg/reconciler/serverlessservice/resources/services.go index 5672fc12e3df..94f406cce905 100644 --- a/pkg/reconciler/serverlessservice/resources/services.go +++ b/pkg/reconciler/serverlessservice/resources/services.go @@ -188,7 +188,8 @@ func MakePrivateService(sks *v1alpha1.ServerlessService, selector map[string]str Port: targetPort(sks).IntVal, TargetPort: targetPort(sks), }}, - Selector: selector, + Selector: selector, + ClusterIP: corev1.ClusterIPNone, }, } } diff --git a/pkg/reconciler/serverlessservice/resources/services_test.go b/pkg/reconciler/serverlessservice/resources/services_test.go index 0690f52d3d07..04fb30a9b964 100644 --- a/pkg/reconciler/serverlessservice/resources/services_test.go +++ b/pkg/reconciler/serverlessservice/resources/services_test.go @@ -133,6 +133,7 @@ func privateSvcMod(s *corev1.Service) { "app": "sadness", } } + s.Spec.ClusterIP = corev1.ClusterIPNone s.Spec.Ports = append(s.Spec.Ports, []corev1.ServicePort{{ Name: servingv1.AutoscalingQueueMetricsPortName, @@ -470,6 +471,7 @@ func TestMakePrivateService(t *testing.T) { s.Labels["ava"] = "adore" s.Labels[networking.SKSLabelKey] = "dream-tonight-cherub-rock-mayonnaise-hummer-disarm-rocket-soma-quiet" s.Annotations = map[string]string{"cherub": "rock"} + s.Spec.ClusterIP = corev1.ClusterIPNone }, privateSvcMod, func(s *corev1.Service) { // And now patch port to be http2. s.Spec.Ports[0] = corev1.ServicePort{ From 190c73cd40e0777ddade5273cff2612dcbe3e24e Mon Sep 17 00:00:00 2001 From: dprotaso Date: Wed, 10 Jul 2024 14:34:57 -0400 Subject: [PATCH 2/2] test passthrough with autoscaler --- pkg/autoscaler/metrics/stats_scraper.go | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/pkg/autoscaler/metrics/stats_scraper.go b/pkg/autoscaler/metrics/stats_scraper.go index e3ba25ab68e9..31a519c79297 100644 --- a/pkg/autoscaler/metrics/stats_scraper.go +++ b/pkg/autoscaler/metrics/stats_scraper.go @@ -33,6 +33,7 @@ import ( "golang.org/x/sync/errgroup" netcfg "knative.dev/networking/pkg/config" + "knative.dev/networking/pkg/http/header" pkgmetrics "knative.dev/pkg/metrics" autoscalingv1alpha1 "knative.dev/serving/pkg/apis/autoscaling/v1alpha1" "knative.dev/serving/pkg/apis/serving" @@ -298,10 +299,10 @@ func (s *serviceScraper) scrapePods(window time.Duration) (Stat, error) { return err } - if s.usePassthroughLb { - req.Host = s.host - req.Header.Add("Knative-Direct-Lb", "true") - } + // if s.usePassthroughLb { + req.Host = s.host + req.Header.Add(header.PassthroughLoadbalancingKey, "true") + // } stat, err := s.directClient.Do(req) if err == nil {