mirror of
https://github.com/weaveworks/scope.git
synced 2026-02-14 18:09:59 +00:00
Make flag names easier to understand
Now you specify a role instead of controlling the internal behaviour
This commit is contained in:
@@ -124,7 +124,7 @@ type probeFlags struct {
|
||||
criEndpoint string
|
||||
|
||||
kubernetesEnabled bool
|
||||
kubernetesTagOnly bool
|
||||
kubernetesRole string
|
||||
kubernetesNodeName string
|
||||
kubernetesClientConfig kubernetes.ClientConfig
|
||||
kubernetesKubeletPort uint
|
||||
@@ -315,7 +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.kubernetesRole, "probe.kubernetes.role", "", "host, cluster or blank for everything")
|
||||
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")
|
||||
|
||||
@@ -41,6 +41,9 @@ import (
|
||||
const (
|
||||
versionCheckPeriod = 6 * time.Hour
|
||||
defaultServiceHost = "https://cloud.weave.works.:443"
|
||||
|
||||
kubernetesRoleHost = "host"
|
||||
kubernetesRoleCluster = "cluster"
|
||||
)
|
||||
|
||||
var (
|
||||
@@ -230,6 +233,17 @@ func probeMain(flags probeFlags, targets []appclient.Target) {
|
||||
defer endpointReporter.Stop()
|
||||
p.AddReporter(endpointReporter)
|
||||
|
||||
switch flags.kubernetesRole {
|
||||
case "": // nothing special
|
||||
case kubernetesRoleHost:
|
||||
flags.kubernetesEnabled = true
|
||||
case kubernetesRoleCluster:
|
||||
flags.kubernetesKubeletPort = 0
|
||||
flags.kubernetesEnabled = true
|
||||
default:
|
||||
log.Warnf("unrecognized --probe.kubernetes.role: %s", flags.kubernetesRole)
|
||||
}
|
||||
|
||||
if flags.dockerEnabled {
|
||||
// Don't add the bridge in Kubernetes since container IPs are global and
|
||||
// shouldn't be scoped
|
||||
@@ -267,7 +281,7 @@ func probeMain(flags probeFlags, targets []appclient.Target) {
|
||||
}
|
||||
}
|
||||
|
||||
if flags.kubernetesEnabled {
|
||||
if flags.kubernetesEnabled && flags.kubernetesRole != kubernetesRoleHost {
|
||||
if client, err := kubernetes.NewClient(flags.kubernetesClientConfig); err == nil {
|
||||
defer client.Stop()
|
||||
reporter := kubernetes.NewReporter(client, clients, probeID, hostID, p, handlerRegistry, flags.kubernetesNodeName, flags.kubernetesKubeletPort)
|
||||
@@ -279,7 +293,7 @@ func probeMain(flags probeFlags, targets []appclient.Target) {
|
||||
}
|
||||
}
|
||||
|
||||
if flags.kubernetesEnabled || flags.kubernetesTagOnly {
|
||||
if flags.kubernetesEnabled {
|
||||
p.AddTagger(&kubernetes.Tagger{})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user