diff --git a/prog/main.go b/prog/main.go index 9630b816b..d9e51ec68 100644 --- a/prog/main.go +++ b/prog/main.go @@ -124,6 +124,7 @@ type probeFlags struct { criEndpoint string kubernetesEnabled bool + kubernetesTagOnly bool kubernetesNodeName string kubernetesClientConfig kubernetes.ClientConfig kubernetesKubeletPort uint @@ -314,6 +315,7 @@ func setupFlags(flags *flags) { // K8s flag.BoolVar(&flags.probe.kubernetesEnabled, "probe.kubernetes", false, "collect kubernetes-related attributes for containers") + flag.BoolVar(&flags.probe.kubernetesTagOnly, "probe.kubernetes-tag", false, "tag containers with kubernetes parents") flag.StringVar(&flags.probe.kubernetesClientConfig.Server, "probe.kubernetes.api", "", "The address and port of the Kubernetes API server (deprecated in favor of equivalent probe.kubernetes.server)") flag.StringVar(&flags.probe.kubernetesClientConfig.CertificateAuthority, "probe.kubernetes.certificate-authority", "", "Path to a cert. file for the certificate authority") flag.StringVar(&flags.probe.kubernetesClientConfig.ClientCertificate, "probe.kubernetes.client-certificate", "", "Path to a client certificate file for TLS") diff --git a/prog/probe.go b/prog/probe.go index abba70502..a45833d17 100644 --- a/prog/probe.go +++ b/prog/probe.go @@ -273,13 +273,16 @@ func probeMain(flags probeFlags, targets []appclient.Target) { reporter := kubernetes.NewReporter(client, clients, probeID, hostID, p, handlerRegistry, flags.kubernetesNodeName, flags.kubernetesKubeletPort) defer reporter.Stop() p.AddReporter(reporter) - p.AddTagger(&kubernetes.Tagger{}) } else { log.Errorf("Kubernetes: failed to start client: %v", err) log.Errorf("Kubernetes: make sure to run Scope inside a POD with a service account or provide valid probe.kubernetes.* flags") } } + if flags.kubernetesEnabled || flags.kubernetesTagOnly { + p.AddTagger(&kubernetes.Tagger{}) + } + if flags.ecsEnabled { reporter := awsecs.Make(flags.ecsCacheSize, flags.ecsCacheExpiry, flags.ecsClusterRegion, handlerRegistry, probeID) defer reporter.Stop()