From 8b5b1c4798c4ab135c608c89e0e0f21f1d948f22 Mon Sep 17 00:00:00 2001 From: cleverhu Date: Thu, 25 May 2023 23:31:02 +0800 Subject: [PATCH] fix: optimize analyze service Signed-off-by: cleverhu Signed-off-by: cleverhu --- pkg/analyzer/service.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/pkg/analyzer/service.go b/pkg/analyzer/service.go index 666ec7f944..4811cccf87 100644 --- a/pkg/analyzer/service.go +++ b/pkg/analyzer/service.go @@ -17,9 +17,11 @@ import ( "fmt" "github.com/fatih/color" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/client-go/tools/leaderelection/resourcelock" + "github.com/k8sgpt-ai/k8sgpt/pkg/common" "github.com/k8sgpt-ai/k8sgpt/pkg/util" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) type ServiceAnalyzer struct{} @@ -45,6 +47,11 @@ func (ServiceAnalyzer) Analyze(a common.Analyzer) ([]common.Result, error) { // Check for empty service if len(ep.Subsets) == 0 { + if _, ok := ep.Annotations[resourcelock.LeaderElectionRecordAnnotationKey]; ok { + color.Green("Endpoint %s/%s is used as leaderElection", ep.Namespace, ep.Name) + continue + } + svc, err := a.Client.GetClient().CoreV1().Services(ep.Namespace).Get(a.Context, ep.Name, metav1.GetOptions{}) if err != nil { color.Yellow("Service %s/%s does not exist", ep.Namespace, ep.Name)