From e4e2e981e3d696c5f77517bd2822554d6237d571 Mon Sep 17 00:00:00 2001 From: Sergii Koshel Date: Fri, 5 Nov 2021 11:03:26 +0200 Subject: [PATCH 1/3] Add metrics service per Grafana Agent --- pkg/operator/resources_metrics.go | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/pkg/operator/resources_metrics.go b/pkg/operator/resources_metrics.go index b5f67a87fa1c..13f4d757e243 100644 --- a/pkg/operator/resources_metrics.go +++ b/pkg/operator/resources_metrics.go @@ -16,8 +16,8 @@ import ( ) const ( - governingServiceName = "grafana-agent-operated" - defaultPortName = "http-metrics" + // governingServiceName = "grafana-agent-operated" + defaultPortName = "http-metrics" ) var ( @@ -41,6 +41,10 @@ func isManagedResource(obj client.Object) bool { return labelValue == managedByOperatorLabelValue } +func governingServiceName(agentName string) string { + return fmt.Sprintf("%s-operated", agentName) +} + func generateMetricsStatefulSetService(cfg *Config, d config.Deployment) *v1.Service { d = *d.DeepCopy() @@ -52,7 +56,7 @@ func generateMetricsStatefulSetService(cfg *Config, d config.Deployment) *v1.Ser return &v1.Service{ ObjectMeta: meta_v1.ObjectMeta{ - Name: governingServiceName, + Name: governingServiceName(d.Agent.Name), Namespace: d.Agent.ObjectMeta.Namespace, OwnerReferences: []meta_v1.OwnerReference{{ APIVersion: d.Agent.APIVersion, @@ -64,6 +68,7 @@ func generateMetricsStatefulSetService(cfg *Config, d config.Deployment) *v1.Ser }}, Labels: cfg.Labels.Merge(map[string]string{ managedByOperatorLabel: managedByOperatorLabelValue, + agentNameLabelName: d.Agent.Name, "operated-agent": "true", }), }, @@ -76,6 +81,7 @@ func generateMetricsStatefulSetService(cfg *Config, d config.Deployment) *v1.Ser }}, Selector: map[string]string{ "app.kubernetes.io/name": "grafana-agent", + agentNameLabelName: d.Agent.Name, }, }, } @@ -416,7 +422,7 @@ func generateMetricsStatefulSetSpec( } return &apps_v1.StatefulSetSpec{ - ServiceName: governingServiceName, + ServiceName: governingServiceName(d.Agent.Name), Replicas: d.Agent.Spec.Metrics.Replicas, PodManagementPolicy: apps_v1.ParallelPodManagement, UpdateStrategy: apps_v1.StatefulSetUpdateStrategy{ From de4a62bcd9befe15c6fc62533e50c7c5e11d8c2b Mon Sep 17 00:00:00 2001 From: Sergii Koshel Date: Fri, 5 Nov 2021 11:16:35 +0200 Subject: [PATCH 2/3] Update changelog --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index d4e4ffab6384..8aa5d6bb5815 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,8 @@ - [BUGFIX] Operator: Fix MetricsInstance Service port (@hjet) +- [BUGFIX] Operator: Create govern service per Grafana Agent (@shturman) + - [CHANGE] Self-scraped integrations will now use an SUO-specific value for the `instance` label. (@rfratto) # v0.20.0 (2021-10-28) From 6c7f32e707158547e11364b0b7c0043c1bac4688 Mon Sep 17 00:00:00 2001 From: Sergii Koshel Date: Fri, 5 Nov 2021 16:06:55 +0200 Subject: [PATCH 3/3] Remove dead code --- pkg/operator/resources_metrics.go | 1 - 1 file changed, 1 deletion(-) diff --git a/pkg/operator/resources_metrics.go b/pkg/operator/resources_metrics.go index 13f4d757e243..26f8afe0e790 100644 --- a/pkg/operator/resources_metrics.go +++ b/pkg/operator/resources_metrics.go @@ -16,7 +16,6 @@ import ( ) const ( - // governingServiceName = "grafana-agent-operated" defaultPortName = "http-metrics" )