Skip to content

Commit

Permalink
Merge branch 'iss2426-update-k8s-prom' into 'dev'
Browse files Browse the repository at this point in the history
优化 KubernetesPrometheus 采集性能和一些细节

See merge request cloudcare-tools/datakit!3240
  • Loading branch information
谭彪 committed Oct 18, 2024
2 parents 2e5e5b5 + aac65b7 commit e5258bd
Show file tree
Hide file tree
Showing 120 changed files with 4,609 additions and 882 deletions.
15 changes: 8 additions & 7 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ require (
github.com/itchyny/timefmt-go v0.1.5 // indirect
github.com/jessevdk/go-flags v1.5.0
github.com/kardianos/service v1.2.1
github.com/klauspost/compress v1.16.7 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/mssola/user_agent v0.6.0 // indirect
github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417
github.com/openzipkin/zipkin-go v0.2.2
Expand Down Expand Up @@ -104,7 +104,6 @@ require (
github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 // indirect
github.com/DataDog/datadog-go/v5 v5.1.1 // indirect
github.com/DataDog/sketches-go v1.4.1 // indirect
github.com/GuanceCloud/kubernetes v0.0.0-20230801080916-ca299820872b
github.com/GuanceCloud/mdcheck v0.0.0-20230718065937-44c6728c995f
github.com/GuanceCloud/toml v1.2.5
github.com/GuanceCloud/tracing-protos v0.0.0-20230619071516-54c8cff1b6b3
Expand Down Expand Up @@ -235,7 +234,7 @@ require (
github.com/mailru/easyjson v0.7.7 // indirect
github.com/mattn/go-colorable v0.1.13 // indirect
github.com/mattn/go-isatty v0.0.19 // indirect
github.com/mattn/go-runewidth v0.0.13 // indirect
github.com/mattn/go-runewidth v0.0.14 // indirect
github.com/mattn/go-tty v0.0.3 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.4
github.com/mitchellh/copystructure v1.2.0 // indirect
Expand Down Expand Up @@ -272,7 +271,7 @@ require (
github.com/pyroscope-io/jfr-parser v0.5.2 // indirect
github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/rivo/uniseg v0.3.1 // indirect
github.com/rivo/uniseg v0.4.3 // indirect
github.com/rs/xid v1.6.0 // indirect
github.com/ryanuber/go-glob v1.0.0 // indirect
github.com/samuel/go-zookeeper v0.0.0-20201211165307-7117e9ea2414
Expand Down Expand Up @@ -313,7 +312,7 @@ require (
golang.org/x/sync v0.4.0 // indirect
golang.org/x/time v0.6.0
golang.org/x/tools v0.14.0 // indirect
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f // indirect
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20230110181048-76db0878b65f // indirect
google.golang.org/protobuf v1.34.2
Expand Down Expand Up @@ -349,7 +348,9 @@ require (

require (
github.com/DataDog/ebpf-manager v0.2.16
github.com/GuanceCloud/cliutils v1.1.21
github.com/GuanceCloud/cliutils v1.1.22-0.20240930074036-255c78c086fd
github.com/GuanceCloud/kubernetes v0.0.0-20230801080916-ca299820872b
github.com/GuanceCloud/zipstream v0.1.0 // indirect
github.com/andrewkroh/sys v0.0.0-20151128191922-287798fe3e43
github.com/brianvoe/gofakeit/v6 v6.28.0
github.com/cilium/ebpf v0.11.0
Expand All @@ -374,7 +375,6 @@ require (
)

require (
github.com/GuanceCloud/zipstream v0.1.0 // indirect
github.com/VictoriaMetrics/easyproto v0.1.4 // indirect
github.com/avast/retry-go/v4 v4.1.0 // indirect
github.com/avvmoto/buf-readerat v0.0.0-20171115124131-a17c8cb89270 // indirect
Expand All @@ -387,6 +387,7 @@ require (
github.com/outcaste-io/ristretto v0.2.1 // indirect
github.com/robfig/cron/v3 v3.0.1 // indirect
github.com/shirou/w32 v0.0.0-20160930032740-bb4de0191aa4 // indirect
github.com/valyala/fastjson v1.6.3
)

replace (
Expand Down
21 changes: 12 additions & 9 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -143,8 +143,8 @@ github.com/DataDog/sketches-go v1.4.1 h1:j5G6as+9FASM2qC36lvpvQAj9qsv/jUs3FtO8Cw
github.com/DataDog/sketches-go v1.4.1/go.mod h1:xJIXldczJyyjnbDop7ZZcLxJdV3+7Kra7H1KMgpgkLk=
github.com/GuanceCloud/client_model v0.0.0-20230418154757-93bd4e878a5e h1:i34dA4kiRTfG+KdvkIXCLPDduarVeFlQhGDD3TefgS4=
github.com/GuanceCloud/client_model v0.0.0-20230418154757-93bd4e878a5e/go.mod h1:PMnE48aPzuRu83FmWZugC0O3d54ZupJd/MmiaYxz8sM=
github.com/GuanceCloud/cliutils v1.1.21 h1:UkENug9Kg4GVTq1ITWIz2KmIPIvpNrZxKKUmRxWWFfA=
github.com/GuanceCloud/cliutils v1.1.21/go.mod h1:5bIAZ9yA6l7W8MMUKw0+SIZJRpmEwxM6ZYLy4vweTgU=
github.com/GuanceCloud/cliutils v1.1.22-0.20240930074036-255c78c086fd h1:KxbB1a1NybivPLnI+xVcR0WPPXlI1+jCyCmPMJ5LnpE=
github.com/GuanceCloud/cliutils v1.1.22-0.20240930074036-255c78c086fd/go.mod h1:5bIAZ9yA6l7W8MMUKw0+SIZJRpmEwxM6ZYLy4vweTgU=
github.com/GuanceCloud/confd v0.1.101 h1:yjHgfl6YzAlTbFOFMTE4ERpFJzIyovOW7ZFc2/ZssL0=
github.com/GuanceCloud/confd v0.1.101/go.mod h1:o0opIwOX+yNwV9nh56x5ymFMJ+YBD8JuPxBJ7a1mEmo=
github.com/GuanceCloud/dockertest/v3 v3.9.4 h1:ScSNhfA2HSNLfrYoNd1KSRxkrymlKiBE60g4f6eUoOk=
Expand Down Expand Up @@ -1578,8 +1578,8 @@ github.com/klauspost/compress v1.12.2/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8
github.com/klauspost/compress v1.12.3/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/klauspost/compress v1.16.7 h1:2mk3MPGNzKyxErAw8YaohYh69+pa4sIQSC0fPGCFR9I=
github.com/klauspost/compress v1.16.7/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE=
github.com/klauspost/compress v1.17.9 h1:6KIumPrER1LHsvBVuDa0r5xaG0Es51mhhB9BQB2qeMA=
github.com/klauspost/compress v1.17.9/go.mod h1:Di0epgTjJY877eYKx5yC51cX2A2Vl2ibi7bDH9ttBbw=
github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4=
github.com/klauspost/cpuid/v2 v2.0.9/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg=
Expand Down Expand Up @@ -1696,8 +1696,9 @@ github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzp
github.com/mattn/go-runewidth v0.0.4/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU=
github.com/mattn/go-runewidth v0.0.6/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-runewidth v0.0.14 h1:+xnbZSEeDbOIg5/mE6JF0w6n9duR1l3/WmbinWVwUuU=
github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-shellwords v1.0.3/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
github.com/mattn/go-sqlite3 v1.10.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
Expand Down Expand Up @@ -2062,8 +2063,8 @@ github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1
github.com/rivo/tview v0.0.0-20220129131435-1f7581b67bd1 h1:rZQHaUDlzupPiNSXPKG+NwRvSm5I6gVS96xTOBoseWc=
github.com/rivo/tview v0.0.0-20220129131435-1f7581b67bd1/go.mod h1:WIfMkQNY+oq/mWwtsjOYHIZBuwthioY2srOmljJkTnk=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/rivo/uniseg v0.3.1 h1:SDPP7SHNl1L7KrEFCSJslJ/DM9DT02Nq2C61XrfHMmk=
github.com/rivo/uniseg v0.3.1/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw=
github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88=
github.com/robertkrimen/godocdown v0.0.0-20130622164427-0bfa04905481/go.mod h1:C9WhFzY47SzYBIvzFqSvHIR6ROgDo4TtdTuRaOMjF/s=
github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs=
github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro=
Expand Down Expand Up @@ -2309,6 +2310,8 @@ github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKn
github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasthttp v1.29.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus=
github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc=
github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY=
github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8=
github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ=
github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc=
Expand Down Expand Up @@ -3067,8 +3070,8 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f h1:uF6paiQQebLeSXkrTqHqz0MXhXXS1KgF41eUdBNvxK0=
golang.org/x/xerrors v0.0.0-20220609144429-65e65417b02f/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 h1:H2TDz8ibqkAF6YGhCdN3jS9O0/s90v0rJh3X/OLHEUk=
golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8=
golang.zx2c4.com/wireguard v0.0.20200121/go.mod h1:P2HsVp8SKwZEufsnezXZA4GRX/T49/HlU7DGuelXsU4=
golang.zx2c4.com/wireguard/wgctrl v0.0.0-20200205215550-e35592f146e4/go.mod h1:UdS9frhv65KTfwxME1xE8+rHYoFpbm36gOud1GhBe9c=
gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo=
Expand Down
17 changes: 8 additions & 9 deletions internal/plugins/inputs/kubernetesprometheus/endpoints.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import (
"strings"

dkio "gitlab.jiagouyun.com/cloudcare-tools/datakit/internal/io"
iprom "gitlab.jiagouyun.com/cloudcare-tools/datakit/internal/prom"
"gitlab.jiagouyun.com/cloudcare-tools/datakit/internal/promscrape"
corev1 "k8s.io/api/core/v1"
"k8s.io/client-go/informers"
infov1 "k8s.io/client-go/informers/core/v1"
Expand Down Expand Up @@ -106,22 +106,21 @@ func (e *Endpoints) process(ctx context.Context) bool {
return true
}

if e.scrape.matchesKey(key, endpointsFeature(ep)) {
if shouldSkipEndpoints(ep) {
return true
}

klog.Infof("found endpoints %s", key)
if e.scrape.matchesKey(key, endpointsFeature(ep)) {
return true
}

klog.Infof("found new endpoints %s", key)
e.terminateScrape(key)
e.startScrape(ctx, key, ep)
return true
}

func (e *Endpoints) startScrape(ctx context.Context, key string, item *corev1.Endpoints) {
if shouldSkipEndpoints(item) {
return
}

nodeName, nodeNameExists := nodeNameFrom(ctx)
feature := endpointsFeature(item)

Expand Down Expand Up @@ -152,8 +151,8 @@ func (e *Endpoints) startScrape(ctx context.Context, key string, item *corev1.En

opts := buildPromOptions(
RoleEndpoints, key, e.feeder,
iprom.WithMeasurementName(cfg.measurement),
iprom.WithTags(cfg.tags))
promscrape.WithMeasurement(cfg.measurement),
promscrape.WithExtraTags(cfg.tags))

if tlsOpts, err := buildPromOptionsWithAuth(&ins.Auth); err != nil {
klog.Warnf("endpoints %s has unexpected tls config %s", key, err)
Expand Down
85 changes: 43 additions & 42 deletions internal/plugins/inputs/kubernetesprometheus/endpoints_parser.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
package kubernetesprometheus

import (
"fmt"
"regexp"
"strconv"

Expand Down Expand Up @@ -141,6 +140,19 @@ var (
return ""
},
},
{
// e.g. integer "8080"
key: newKeyMatcherWithRegexp(regexp.MustCompile(`^(\d*)$`)),
fn: func(item *corev1.EndpointPort, args []string) string {
if len(args) != 1 {
return ""
}
if strconv.Itoa(int(item.Port)) == args[0] {
return args[0]
}
return ""
},
},
}
)

Expand Down Expand Up @@ -168,60 +180,49 @@ func (p *endpointsParser) parsePromConfig(ins *Instance) ([]*basePromConfig, err
var configs []*basePromConfig

for _, set := range p.item.Subsets {
for addressIdx, address := range set.Addresses {
// length 5
oldElems := []string{ins.Scheme, ins.Address, ins.Port, ins.Path, ins.Measurement}
newElems := deepCopySlice(oldElems)

tagKeys := []string{}
for k, v := range ins.Tags {
tagKeys = append(tagKeys, k)
newElems = append(newElems, v)
}
port := ins.Port
if matched, res := p.matchPort(set.Ports, port); matched && res != "" {
port = res
} else {
// not found port
continue
}

for idx, elem := range newElems {
if matched, res := p.matchEndpoints(elem); matched && res != "" {
newElems[idx] = res
continue
}
if matched, res := p.matchAddress(&set.Addresses[addressIdx], elem); matched && res != "" {
newElems[idx] = res
for addressIdx, address := range set.Addresses {
elems := []string{ins.Scheme, ins.Address, ins.Path, ins.Measurement}
for idx := range elems {
if matched, res := p.matchEndpoints(elems[idx]); matched && res != "" {
elems[idx] = res
continue
}
if matched, res := p.matchPort(set.Ports, elem); matched && res != "" {
newElems[idx] = res
continue
if matched, res := p.matchAddress(&set.Addresses[addressIdx], elems[idx]); matched && res != "" {
elems[idx] = res
}
newElems[idx] = elem
}

u, err := buildURLWithParams(newElems[0], newElems[1], newElems[2], newElems[3], ins.Params)
u, err := buildURLWithParams(elems[0], elems[1], port, elems[2], ins.Params)
if err != nil {
return nil, err
}
measurement := newElems[4]
measurement := elems[3]

tags := map[string]string{}

if len(tagKeys)+len(oldElems) != len(newElems) {
return nil, fmt.Errorf("unexpected tags length %d-%d", len(tagKeys), len(newElems)-len(oldElems))
}

for idx, k := range tagKeys {
tags[k] = newElems[idx+len(oldElems)]
}

for k, v := range tags {
switch v {
case MateInstanceTag:
tags[k] = u.Host
case MateHostTag:
if host := splitHost(u.Host); host != "" {
tags[k] = host
for k, v := range ins.Tags {
if matched, res := matchInstanceOrHost(v, u.Host); matched {
if res != "" {
tags[k] = res
}
default:
// nil
continue
}
if matched, res := p.matchEndpoints(v); matched && res != "" {
tags[k] = res
continue
}
if matched, res := p.matchAddress(&set.Addresses[addressIdx], v); matched && res != "" {
tags[k] = res
continue
}
tags[k] = v
}

nodeName := ""
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -132,6 +132,14 @@ func TestEndpointsMeta(t *testing.T) {
matched, res = pr.matchPort(obj, "__kubernetes_endpoints_port_nonexistent_number")
assert.Equal(t, false, matched)
assert.Equal(t, "", res)

matched, res = pr.matchPort(obj, "9090")
assert.Equal(t, true, matched)
assert.Equal(t, "9090", res)

matched, res = pr.matchPort(obj, "19090")
assert.Equal(t, false, matched)
assert.Equal(t, "", res)
})

t.Run("endpoints-scrape", func(t *testing.T) {
Expand Down
10 changes: 10 additions & 0 deletions internal/plugins/inputs/kubernetesprometheus/instance.go
Original file line number Diff line number Diff line change
Expand Up @@ -259,3 +259,13 @@ func checkPaused(ctx context.Context, election bool) bool {
paused, exists := pauseFrom(ctx)
return exists && paused
}

func matchInstanceOrHost(str, host string) (bool, string) {
switch str {
case MateInstanceTag:
return true, host
case MateHostTag:
return true, splitHost(host)
}
return false, str
}
17 changes: 8 additions & 9 deletions internal/plugins/inputs/kubernetesprometheus/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"fmt"

dkio "gitlab.jiagouyun.com/cloudcare-tools/datakit/internal/io"
iprom "gitlab.jiagouyun.com/cloudcare-tools/datakit/internal/prom"
"gitlab.jiagouyun.com/cloudcare-tools/datakit/internal/promscrape"
corev1 "k8s.io/api/core/v1"
"k8s.io/client-go/informers"
infov1 "k8s.io/client-go/informers/core/v1"
Expand Down Expand Up @@ -109,22 +109,21 @@ func (n *Node) process(ctx context.Context) bool {
return true
}

if n.scrape.matchesKey(key, nodeFeature(node)) {
if shouldSkipNode(node) {
return true
}

klog.Infof("found node %s", key)
if n.scrape.matchesKey(key, nodeFeature(node)) {
return true
}

klog.Infof("found new node %s", key)
n.terminateScrape(key)
n.startScrape(ctx, key, node)
return true
}

func (n *Node) startScrape(ctx context.Context, key string, item *corev1.Node) {
if shouldSkipNode(item) {
return
}

feature := nodeFeature(item)
checkPausedFunc := func() bool {
return checkPaused(ctx, false /* not use election */)
Expand Down Expand Up @@ -154,8 +153,8 @@ func (n *Node) startScrape(ctx context.Context, key string, item *corev1.Node) {

opts := buildPromOptions(
RoleNode, key, n.feeder,
iprom.WithMeasurementName(cfg.measurement),
iprom.WithTags(cfg.tags))
promscrape.WithMeasurement(cfg.measurement),
promscrape.WithExtraTags(cfg.tags))

if tlsOpts, err := buildPromOptionsWithAuth(&ins.Auth); err != nil {
klog.Warnf("node %s has unexpected tls config %ss", key, err)
Expand Down
Loading

0 comments on commit e5258bd

Please sign in to comment.