diff --git a/CHANGELOG.md b/CHANGELOG.md index 29fbfe848f..d8d67abc40 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,34 +24,40 @@ We use *breaking :warning:* to mark changes that are not backward compatible (re - [#4508](https://github.com/thanos-io/thanos/pull/4508) Adjust and rename `ThanosSidecarUnhealthy` to `ThanosSidecarNoConnectionToStartedPrometheus`; Remove `ThanosSidecarPrometheusDown` alert; Remove unused `thanos_sidecar_last_heartbeat_success_time_seconds` metrics. -## v0.23.0 - In Progress +## [v0.23.1](https://github.com/thanos-io/thanos/tree/release-0.23) - 2021.10.1 + +- [#4714](https://github.com/thanos-io/thanos/pull/4714) EndpointSet: Do not use unimplemented yet new InfoAPI to obtain metadata (avoids unnecessary HTTP roundtrip, instrumentation/alerts spam and logs). + +## [v0.23.0](https://github.com/thanos-io/thanos/tree/release-0.23) - 2021.09.23 ### Added -- [#4453](https://github.com/thanos-io/thanos/pull/4453) Tools: Add flag `--selector.relabel-config-file` / `--selector.relabel-config` / `--max-time` / `--min-time` to filter served blocks. -- [#4482](https://github.com/thanos-io/thanos/pull/4482) COS: Add http_config for cos object store client. -- [#4487](https://github.com/thanos-io/thanos/pull/4487) Query: Add memcached auto discovery support. -- [#4444](https://github.com/thanos-io/thanos/pull/4444) UI: Add search block UI. -- [#4509](https://github.com/thanos-io/thanos/pull/4509) Logging: Adds duration_ms in int64 to the logs. -- [#4462](https://github.com/thanos-io/thanos/pull/4462) UI: Add find overlap block UI. -- [#4469](https://github.com/thanos-io/thanos/pull/4469) Compact: Add flag `compact.skip-block-with-out-of-order-chunks` to skip blocks with out-of-order chunks during compaction instead of halting -- [#4506](https://github.com/thanos-io/thanos/pull/4506) `Baidu BOS` object storage, see [documents](docs/storage.md#baidu-bos) for further information. -- [#4552](https://github.com/thanos-io/thanos/pull/4552) Compact: Adds `thanos_compact_downsample_duration_seconds` histogram. -- [#4594](https://github.com/thanos-io/thanos/pull/4594) reloader: Expose metrics in config reloader to give info on the last operation. -- [#4623](https://github.com/thanos-io/thanos/pull/4623) query-frontend: made HTTP downstream tripper (client) configurable via parameters `--query-range.downstream-tripper-config` and `--query-range.downstream-tripper-config-file`. If your downstream URL is localhost or 127.0.0.1 then it is strongly recommended to bump `max_idle_conns_per_host` to at least 100 so that `query-frontend` could properly use HTTP keep-alive connections and thus reduce the latency of `query-frontend` by about 20%. -- [#4636](https://github.com/thanos-io/thanos/pull/4636) Azure: Support authentication using user-assigned managed identity +- [#4453](https://github.com/thanos-io/thanos/pull/4453) Tools `thanos bucket web`: Add flag `--selector.relabel-config-file` / `--selector.relabel-config` / `--max-time` / `--min-time` to filter served blocks. +- [#4482](https://github.com/thanos-io/thanos/pull/4482) Store: Add `http_config` option for COS object store client. +- [#4487](https://github.com/thanos-io/thanos/pull/4487) Query/Store: Add memcached auto discovery support for all caching clients. +- [#4444](https://github.com/thanos-io/thanos/pull/4444) UI: Add search to the Block UI. +- [#4509](https://github.com/thanos-io/thanos/pull/4509) Logging: Add `duration_ms` in int64 to the logs for easier log filtering. +- [#4462](https://github.com/thanos-io/thanos/pull/4462) UI: Highlighting blocks overlap in the Block UI. +- [#4469](https://github.com/thanos-io/thanos/pull/4469) Compact: Add flag `compact.skip-block-with-out-of-order-chunks` to skip blocks with out-of-order chunks during compaction instead of halting. +- [#4506](https://github.com/thanos-io/thanos/pull/4506) Store: Add `Baidu BOS` object storage, see [documents](docs/storage.md#baidu-bos) for further information. +- [#4552](https://github.com/thanos-io/thanos/pull/4552) Compact: Add `thanos_compact_downsample_duration_seconds` histogram metric. +- [#4594](https://github.com/thanos-io/thanos/pull/4594) Reloader: Expose metrics in config reloader to give info on the last operation. +- [#4619](https://github.com/thanos-io/thanos/pull/4619) Tracing: Added consistent tags to Series call from Querier about number important series statistics: `processed.series`, `processed.samples`, `processed.samples` and `processed.bytes`. This will give admin idea of how much data each component processes per query. +- [#4623](https://github.com/thanos-io/thanos/pull/4623) Query-frontend: Make HTTP downstream tripper (client) configurable via parameters `--query-range.downstream-tripper-config` and `--query-range.downstream-tripper-config-file`. If your downstream URL is localhost or 127.0.0.1 then it is strongly recommended to bump `max_idle_conns_per_host` to at least 100 so that `query-frontend` could properly use HTTP keep-alive connections and thus reduce the latency of `query-frontend` by about 20%. ### Fixed - [#4468](https://github.com/thanos-io/thanos/pull/4468) Rule: Fix temporary rule filename composition issue. -- [#4476](https://github.com/thanos-io/thanos/pull/4476) UI: fix incorrect html escape sequence used for '>' symbol. -- [#4532](https://github.com/thanos-io/thanos/pull/4532) Mixin: Fixed "all jobs" selector in thanos mixin dashboards. -- [#4607](https://github.com/thanos-io/thanos/pull/4607) Azure: Fix Azure MSI Rate Limit +- [#4476](https://github.com/thanos-io/thanos/pull/4476) UI: Fix incorrect html escape sequence used for '>' symbol. +- [#4532](https://github.com/thanos-io/thanos/pull/4532) Mixin: Fix "all jobs" selector in thanos mixin dashboards. +- [#4607](https://github.com/thanos-io/thanos/pull/4607) Azure: Fix Azure MSI Rate Limit. ### Changed -- [#4519](https://github.com/thanos-io/thanos/pull/4519) Query: switch to miekgdns DNS resolver as the default one. +- [#4519](https://github.com/thanos-io/thanos/pull/4519) Query: Switch to miekgdns DNS resolver as the default one. - [#4586](https://github.com/thanos-io/thanos/pull/4586) Update Prometheus/Cortex dependencies and implement LabelNames() pushdown as a result; provides massive speed-up for the labels API in Thanos Query. +- [#4421](https://github.com/thanos-io/thanos/pull/4421) *breaking :warning:*: `--store` (in the future, to be renamed to `--endpoints`) now supports passing any APIs from Thanos gRPC APIs: StoreAPI, MetadataAPI, RulesAPI, TargetsAPI and ExemplarsAPI (in oppose in the past you have to put it in hidden `--targets`, `--rules` etc flags). `--store` will now automatically detect what APIs server exposes. +- [#4669](https://github.com/thanos-io/thanos/pull/4669) Moved Prometheus dependency to v2.30. ## [v0.22.0](https://github.com/thanos-io/thanos/tree/release-0.22) - 2021.07.22 diff --git a/docs/release-process.md b/docs/release-process.md index e85556ac31..97d82f125d 100644 --- a/docs/release-process.md +++ b/docs/release-process.md @@ -23,8 +23,9 @@ Release shepherd responsibilities: | Release | Time of first RC | Shepherd (GitHub handle) | |---------|----------------------|-----------------------------| -| v0.24.0 | (planned) 2021.09.28 | No one ATM | -| v0.23.0 | 2021.09.01 | `@bwplotka` | +| v0.25.0 | (planned) 2021.12.09 | No one ATM | +| v0.24.0 | (planned) 2021.10.28 | `@squat` | +| v0.23.0 | 2021.09.02 | `@bwplotka` | | v0.22.0 | 2021.07.06 | `@GiedriusS` | | v0.21.0 | 2021.05.28 | `@metalmatze` and `@onprem` | | v0.20.0 | 2021.04.23 | `@kakkoyun` | @@ -120,7 +121,7 @@ The whole release from release candidate `rc.0` to actual release should have ex 10. Announce `#thanos` slack channel. -11. Pull commits from release branch to main branch for non `rc` releases. +11. Pull commits from release branch to main branch for non `rc` releases. Make sure to not modify `VERSION`, it should be still pointing to `version+1-dev` ([TODO to automate this](https://github.com/thanos-io/thanos/issues/4741)) 12. After releasing a major version, please cut a release for `kube-thanos` as well. https://github.com/thanos-io/kube-thanos/releases Make sure all the flag changes are reflected in the manifests. Otherwise, the process is the same, except we don't have `rc` for the `kube-thanos`. We do this to make sure we have compatible manifests for each major versions. diff --git a/pkg/query/endpointset.go b/pkg/query/endpointset.go index 13625aa828..727299db1f 100644 --- a/pkg/query/endpointset.go +++ b/pkg/query/endpointset.go @@ -31,7 +31,8 @@ import ( ) const ( - unhealthyEndpointMessage = "removing endpoint because it's unhealthy or does not exist" + unhealthyEndpointMessage = "removing endpoint because it's unhealthy or does not exist" + noMetadataEndpointMessage = "cannot obtain metadata: neither info nor store client found" // Default minimum and maximum time values used by Prometheus when they are not passed as query parameter. MinTime = -9223309901257974 @@ -76,17 +77,27 @@ func (es *grpcEndpointSpec) Addr() string { // Metadata method for gRPC endpoint tries to call InfoAPI exposed by Thanos components until context timeout. If we are unable to get metadata after // that time, we assume that the host is unhealthy and return error. func (es *grpcEndpointSpec) Metadata(ctx context.Context, client *endpointClients) (*endpointMetadata, error) { - resp, err := client.info.Info(ctx, &infopb.InfoRequest{}, grpc.WaitForReady(true)) - if err != nil { - // Call Info method of StoreAPI, this way querier will be able to discovery old components not exposing InfoAPI. - metadata, merr := es.getMetadataUsingStoreAPI(ctx, client.store) - if merr != nil { - return nil, errors.Wrapf(merr, "fallback fetching info from %s after err: %v", es.addr, err) + // TODO(@matej-g): Info client should not be used due to https://github.com/thanos-io/thanos/issues/4699 + // Uncomment this after it is implemented in https://github.com/thanos-io/thanos/pull/4282. + // if client.info != nil { + // resp, err := client.info.Info(ctx, &infopb.InfoRequest{}, grpc.WaitForReady(true)) + // if err != nil { + // return nil, errors.Wrapf(err, "fetching info from %s", es.addr) + // } + + // return &endpointMetadata{resp}, nil + // } + + // Call Info method of StoreAPI, this way querier will be able to discovery old components not exposing InfoAPI. + if client.store != nil { + metadata, err := es.getMetadataUsingStoreAPI(ctx, client.store) + if err != nil { + return nil, errors.Wrapf(err, "fallback fetching info from %s", es.addr) } return metadata, nil } - return &endpointMetadata{resp}, nil + return nil, errors.New(noMetadataEndpointMessage) } func (es *grpcEndpointSpec) getMetadataUsingStoreAPI(ctx context.Context, client storepb.StoreClient) (*endpointMetadata, error) { @@ -493,7 +504,9 @@ func (e *EndpointSet) getActiveEndpoints(ctx context.Context, endpoints map[stri logger: e.logger, StoreClient: storepb.NewStoreClient(conn), clients: &endpointClients{ - info: infopb.NewInfoClient(conn), + // TODO(@matej-g): Info client should not be used due to https://github.com/thanos-io/thanos/issues/4699 + // Uncomment this after it is implemented in https://github.com/thanos-io/thanos/pull/4282. + // info: infopb.NewInfoClient(conn), store: storepb.NewStoreClient(conn), }, } @@ -667,6 +680,10 @@ func (er *endpointRef) ComponentType() component.Component { er.mtx.RLock() defer er.mtx.RUnlock() + if er.metadata == nil { + return component.UnknownStoreAPI + } + return component.FromString(er.metadata.ComponentType) } @@ -785,13 +802,15 @@ func (er *endpointRef) apisPresent() []string { return apisPresent } +// TODO(@matej-g): Info client should not be used due to https://github.com/thanos-io/thanos/issues/4699 +// Uncomment the nolint directive after https://github.com/thanos-io/thanos/pull/4282. type endpointClients struct { store storepb.StoreClient rule rulespb.RulesClient metricMetadata metadatapb.MetadataClient exemplar exemplarspb.ExemplarsClient target targetspb.TargetsClient - info infopb.InfoClient + info infopb.InfoClient //nolint:structcheck,unused } type endpointMetadata struct { diff --git a/pkg/query/endpointset_test.go b/pkg/query/endpointset_test.go index 3e6b89f38a..5dc7eefa45 100644 --- a/pkg/query/endpointset_test.go +++ b/pkg/query/endpointset_test.go @@ -19,6 +19,7 @@ import ( "github.com/thanos-io/thanos/pkg/info/infopb" "github.com/thanos-io/thanos/pkg/store" "github.com/thanos-io/thanos/pkg/store/labelpb" + "github.com/thanos-io/thanos/pkg/store/storepb" "github.com/thanos-io/thanos/pkg/testutil" ) @@ -58,7 +59,11 @@ var ( } ruleInfo = &infopb.InfoResponse{ ComponentType: component.Rule.String(), - Rules: &infopb.RulesInfo{}, + Store: &infopb.StoreInfo{ + MinTime: math.MinInt64, + MaxTime: math.MaxInt64, + }, + Rules: &infopb.RulesInfo{}, } storeGWInfo = &infopb.InfoResponse{ ComponentType: component.Store.String(), @@ -93,6 +98,28 @@ func (c *mockedEndpoint) Info(ctx context.Context, r *infopb.InfoRequest) (*info return &c.info, nil } +type mockedStoreSrv struct { + infoDelay time.Duration + info storepb.InfoResponse +} + +func (s *mockedStoreSrv) Info(context.Context, *storepb.InfoRequest) (*storepb.InfoResponse, error) { + if s.infoDelay > 0 { + time.Sleep(s.infoDelay) + } + + return &s.info, nil +} +func (s *mockedStoreSrv) Series(*storepb.SeriesRequest, storepb.Store_SeriesServer) error { + return nil +} +func (s *mockedStoreSrv) LabelNames(context.Context, *storepb.LabelNamesRequest) (*storepb.LabelNamesResponse, error) { + return nil, nil +} +func (s *mockedStoreSrv) LabelValues(context.Context, *storepb.LabelValuesRequest) (*storepb.LabelValuesResponse, error) { + return nil, nil +} + type APIs struct { store bool metricMetadata bool @@ -113,6 +140,25 @@ type testEndpoints struct { exposedAPIs map[string]*APIs } +func componentTypeToStoreType(componentType string) storepb.StoreType { + switch componentType { + case component.Query.String(): + return storepb.StoreType_QUERY + case component.Rule.String(): + return storepb.StoreType_RULE + case component.Sidecar.String(): + return storepb.StoreType_SIDECAR + case component.Store.String(): + return storepb.StoreType_STORE + case component.Receive.String(): + return storepb.StoreType_RECEIVE + case component.Debug.String(): + return storepb.StoreType_DEBUG + default: + return storepb.StoreType_STORE + } +} + func startTestEndpoints(testEndpointMeta []testEndpointMeta) (*testEndpoints, error) { e := &testEndpoints{ srvs: map[string]*grpc.Server{}, @@ -130,6 +176,19 @@ func startTestEndpoints(testEndpointMeta []testEndpointMeta) (*testEndpoints, er srv := grpc.NewServer() addr := listener.Addr().String() + storeSrv := &mockedStoreSrv{ + info: storepb.InfoResponse{ + LabelSets: meta.extlsetFn(listener.Addr().String()), + StoreType: componentTypeToStoreType(meta.ComponentType), + }, + infoDelay: meta.infoDelay, + } + + if meta.Store != nil { + storeSrv.info.MinTime = meta.Store.MinTime + storeSrv.info.MaxTime = meta.Store.MaxTime + } + endpointSrv := &mockedEndpoint{ info: infopb.InfoResponse{ LabelSets: meta.extlsetFn(listener.Addr().String()), @@ -143,6 +202,7 @@ func startTestEndpoints(testEndpointMeta []testEndpointMeta) (*testEndpoints, er infoDelay: meta.infoDelay, } infopb.RegisterInfoServer(srv, endpointSrv) + storepb.RegisterStoreServer(srv, storeSrv) go func() { _ = srv.Serve(listener) }() @@ -859,7 +919,7 @@ func TestEndpointSet_APIs_Discovery(t *testing.T) { } return endpointSpec }, - expectedStores: 4, // sidecar + querier + receiver + storeGW + expectedStores: 5, // sidecar + querier + receiver + storeGW + ruler expectedRules: 3, // sidecar + querier + ruler expectedTarget: 2, // sidecar + querier expectedMetricMetadata: 2, // sidecar + querier @@ -895,7 +955,7 @@ func TestEndpointSet_APIs_Discovery(t *testing.T) { NewGRPCEndpointSpec(endpoints.orderAddrs[1], false), } }, - expectedStores: 1, // sidecar + expectedStores: 2, // sidecar + ruler expectedRules: 2, // sidecar + ruler expectedTarget: 1, // sidecar expectedMetricMetadata: 1, // sidecar @@ -908,7 +968,8 @@ func TestEndpointSet_APIs_Discovery(t *testing.T) { NewGRPCEndpointSpec(endpoints.orderAddrs[1], false), } }, - expectedRules: 1, // ruler + expectedStores: 1, // ruler + expectedRules: 1, // ruler }, }, }, @@ -1106,6 +1167,7 @@ func exposedAPIs(c string) *APIs { } case component.Rule.String(): return &APIs{ + store: true, rules: true, } case component.Store.String(): diff --git a/tutorials/katacoda/thanos/1-globalview/courseBase.sh b/tutorials/katacoda/thanos/1-globalview/courseBase.sh index 7e631bbd93..3432b3c8ec 100644 --- a/tutorials/katacoda/thanos/1-globalview/courseBase.sh +++ b/tutorials/katacoda/thanos/1-globalview/courseBase.sh @@ -1,4 +1,4 @@ #!/usr/bin/env bash docker pull quay.io/prometheus/prometheus:v2.16.0 -docker pull quay.io/thanos/thanos:v0.22.0 +docker pull quay.io/thanos/thanos:v0.23.1 diff --git a/tutorials/katacoda/thanos/1-globalview/step2.md b/tutorials/katacoda/thanos/1-globalview/step2.md index d1e97ab2c5..ae34608171 100644 --- a/tutorials/katacoda/thanos/1-globalview/step2.md +++ b/tutorials/katacoda/thanos/1-globalview/step2.md @@ -10,7 +10,7 @@ component and can be invoked in a single command. Let's take a look at all the Thanos commands: ``` -docker run --rm quay.io/thanos/thanos:v0.22.0 --help +docker run --rm quay.io/thanos/thanos:v0.23.1 --help ```{{execute}} You should see multiple commands that solves different purposes. @@ -53,7 +53,7 @@ docker run -d --net=host --rm \ -v $(pwd)/prometheus0_eu1.yml:/etc/prometheus/prometheus.yml \ --name prometheus-0-sidecar-eu1 \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19090 \ --grpc-address 0.0.0.0:19190 \ @@ -68,7 +68,7 @@ docker run -d --net=host --rm \ -v $(pwd)/prometheus0_us1.yml:/etc/prometheus/prometheus.yml \ --name prometheus-0-sidecar-us1 \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19091 \ --grpc-address 0.0.0.0:19191 \ @@ -81,7 +81,7 @@ docker run -d --net=host --rm \ -v $(pwd)/prometheus1_us1.yml:/etc/prometheus/prometheus.yml \ --name prometheus-1-sidecar-us1 \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19092 \ --grpc-address 0.0.0.0:19192 \ diff --git a/tutorials/katacoda/thanos/1-globalview/step3.md b/tutorials/katacoda/thanos/1-globalview/step3.md index 905a87b8bf..76f404e90a 100644 --- a/tutorials/katacoda/thanos/1-globalview/step3.md +++ b/tutorials/katacoda/thanos/1-globalview/step3.md @@ -28,7 +28,7 @@ Click below snippet to start the Querier. ``` docker run -d --net=host --rm \ --name querier \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:29090 \ --query.replica-label replica \ diff --git a/tutorials/katacoda/thanos/2-lts/courseBase.sh b/tutorials/katacoda/thanos/2-lts/courseBase.sh index 286de85026..af98ac3d53 100644 --- a/tutorials/katacoda/thanos/2-lts/courseBase.sh +++ b/tutorials/katacoda/thanos/2-lts/courseBase.sh @@ -2,7 +2,7 @@ docker pull minio/minio:RELEASE.2019-01-31T00-31-19Z docker pull quay.io/prometheus/prometheus:v2.20.0 -docker pull quay.io/thanos/thanos:v0.22.0 +docker pull quay.io/thanos/thanos:v0.23.1 docker pull quay.io/thanos/thanosbench:v0.2.0-rc.1 mkdir /root/editor diff --git a/tutorials/katacoda/thanos/2-lts/step1.md b/tutorials/katacoda/thanos/2-lts/step1.md index cdb069b632..5cca5de9c0 100644 --- a/tutorials/katacoda/thanos/2-lts/step1.md +++ b/tutorials/katacoda/thanos/2-lts/step1.md @@ -117,7 +117,7 @@ Similar to previous course, let's setup global view querying with sidecar: docker run -d --net=host --rm \ --name prometheus-0-eu1-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19090 \ --grpc-address 0.0.0.0:19190 \ @@ -130,7 +130,7 @@ so we will make sure we point the Querier to the gRPC endpoints of the sidecar: ``` docker run -d --net=host --rm \ --name querier \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:9091 \ --query.replica-label replica \ diff --git a/tutorials/katacoda/thanos/2-lts/step2.md b/tutorials/katacoda/thanos/2-lts/step2.md index 8a7436dc8d..717a3ea9d8 100644 --- a/tutorials/katacoda/thanos/2-lts/step2.md +++ b/tutorials/katacoda/thanos/2-lts/step2.md @@ -79,7 +79,7 @@ docker run -d --net=host --rm \ -v /root/prom-eu1:/prometheus \ --name prometheus-0-eu1-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --tsdb.path /prometheus \ --objstore.config-file /etc/thanos/minio-bucket.yaml \ diff --git a/tutorials/katacoda/thanos/2-lts/step3.md b/tutorials/katacoda/thanos/2-lts/step3.md index b922333b5d..43e7a145af 100644 --- a/tutorials/katacoda/thanos/2-lts/step3.md +++ b/tutorials/katacoda/thanos/2-lts/step3.md @@ -6,7 +6,7 @@ In this step, we will learn about Thanos Store Gateway and how to deploy it. Let's take a look at all the Thanos commands: -```docker run --rm quay.io/thanos/thanos:v0.22.0 --help```{{execute}} +```docker run --rm quay.io/thanos/thanos:v0.23.1 --help```{{execute}} You should see multiple commands that solve different purposes, block storage based long-term storage for Prometheus. @@ -32,7 +32,7 @@ You can read more about [Store](https://thanos.io/tip/components/store.md/) here docker run -d --net=host --rm \ -v /root/editor/bucket_storage.yaml:/etc/thanos/minio-bucket.yaml \ --name store-gateway \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ store \ --objstore.config-file /etc/thanos/minio-bucket.yaml \ --http-address 0.0.0.0:19091 \ @@ -49,7 +49,7 @@ Currently querier does not know about store yet. Let's change it by adding Store docker stop querier && \ docker run -d --net=host --rm \ --name querier \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:9091 \ --query.replica-label replica \ diff --git a/tutorials/katacoda/thanos/2-lts/step4.md b/tutorials/katacoda/thanos/2-lts/step4.md index 1a16c561cf..c703f87e92 100644 --- a/tutorials/katacoda/thanos/2-lts/step4.md +++ b/tutorials/katacoda/thanos/2-lts/step4.md @@ -25,7 +25,7 @@ Click below snippet to start the Compactor. docker run -d --net=host --rm \ -v /root/editor/bucket_storage.yaml:/etc/thanos/minio-bucket.yaml \ --name thanos-compact \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ compact \ --wait --wait-interval 30s \ --consistency-delay 0s \ diff --git a/tutorials/katacoda/thanos/6-query-caching/courseBase.sh b/tutorials/katacoda/thanos/6-query-caching/courseBase.sh index ceb21419e0..b4c2e50837 100644 --- a/tutorials/katacoda/thanos/6-query-caching/courseBase.sh +++ b/tutorials/katacoda/thanos/6-query-caching/courseBase.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash docker pull quay.io/prometheus/prometheus:v2.22.2 -docker pull quay.io/thanos/thanos:v0.22.0 +docker pull quay.io/thanos/thanos:v0.23.1 docker pull yannrobert/docker-nginx diff --git a/tutorials/katacoda/thanos/6-query-caching/step1.md b/tutorials/katacoda/thanos/6-query-caching/step1.md index b2188e969b..610ced6b79 100644 --- a/tutorials/katacoda/thanos/6-query-caching/step1.md +++ b/tutorials/katacoda/thanos/6-query-caching/step1.md @@ -103,7 +103,7 @@ docker run -d --net=host --rm \ -v $(pwd)/prometheus"${i}".yml:/etc/prometheus/prometheus.yml \ --name prometheus-sidecar"${i}" \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address=0.0.0.0:1909"${i}" \ --grpc-address=0.0.0.0:1919"${i}" \ @@ -129,7 +129,7 @@ And now, let's deploy Thanos Querier to have a global overview on our services. ``` docker run -d --net=host --rm \ --name querier \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:10912 \ --grpc-address 0.0.0.0:10901 \ diff --git a/tutorials/katacoda/thanos/6-query-caching/step2.md b/tutorials/katacoda/thanos/6-query-caching/step2.md index 8fce765ccb..5832b08abd 100644 --- a/tutorials/katacoda/thanos/6-query-caching/step2.md +++ b/tutorials/katacoda/thanos/6-query-caching/step2.md @@ -62,7 +62,7 @@ And deploy Query Frontend: docker run -d --net=host --rm \ -v $(pwd)/frontend.yml:/etc/thanos/frontend.yml \ --name query-frontend \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query-frontend \ --http-address 0.0.0.0:20902 \ --query-frontend.compress-responses \ diff --git a/tutorials/katacoda/thanos/7-multi-tenancy/courseBase.sh b/tutorials/katacoda/thanos/7-multi-tenancy/courseBase.sh index 951657ec0d..91ecf9559c 100644 --- a/tutorials/katacoda/thanos/7-multi-tenancy/courseBase.sh +++ b/tutorials/katacoda/thanos/7-multi-tenancy/courseBase.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash docker pull quay.io/prometheus/prometheus:v2.20.0 -docker pull quay.io/thanos/thanos:v0.22.0 +docker pull quay.io/thanos/thanos:v0.23.1 docker pull quay.io/thanos/prom-label-proxy:v0.3.0-rc.0-ext1 docker pull caddy:2.2.1 diff --git a/tutorials/katacoda/thanos/7-multi-tenancy/step1.md b/tutorials/katacoda/thanos/7-multi-tenancy/step1.md index 51b3b7b39a..1574c99af7 100644 --- a/tutorials/katacoda/thanos/7-multi-tenancy/step1.md +++ b/tutorials/katacoda/thanos/7-multi-tenancy/step1.md @@ -88,7 +88,7 @@ docker run -d --net=host --rm \ -v $(pwd)/editor/prometheus0_fruit.yml:/etc/prometheus/prometheus.yml \ --name prometheus-0-sidecar-fruit \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19090 \ --grpc-address 0.0.0.0:19190 \ @@ -120,7 +120,7 @@ docker run -d --net=host --rm \ -v $(pwd)/editor/prometheus0_veggie.yml:/etc/prometheus/prometheus.yml \ --name prometheus-0-sidecar-veggie \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19091 \ --grpc-address 0.0.0.0:19191 \ @@ -152,7 +152,7 @@ docker run -d --net=host --rm \ -v $(pwd)/editor/prometheus1_veggie.yml:/etc/prometheus/prometheus.yml \ --name prometheus-01-sidecar-veggie \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19092 \ --grpc-address 0.0.0.0:19192 \ @@ -170,7 +170,7 @@ Fruit: ``` docker run -d --net=host --rm \ --name querier-fruit \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:29091 \ --grpc-address 0.0.0.0:29191 \ @@ -183,7 +183,7 @@ Veggie: ``` docker run -d --net=host --rm \ --name querier-veggie \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:29092 \ --grpc-address 0.0.0.0:29192 \ diff --git a/tutorials/katacoda/thanos/7-multi-tenancy/step2.md b/tutorials/katacoda/thanos/7-multi-tenancy/step2.md index 88182026b4..6380a0df70 100644 --- a/tutorials/katacoda/thanos/7-multi-tenancy/step2.md +++ b/tutorials/katacoda/thanos/7-multi-tenancy/step2.md @@ -11,7 +11,7 @@ docker stop querier-fruit && docker stop querier-veggie ``` docker run -d --net=host --rm \ --name querier-multi \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:29090 \ --grpc-address 0.0.0.0:29190 \ diff --git a/tutorials/katacoda/thanos/x-playground/courseBase.sh b/tutorials/katacoda/thanos/x-playground/courseBase.sh index a6b9cad2a9..7c15d1711a 100644 --- a/tutorials/katacoda/thanos/x-playground/courseBase.sh +++ b/tutorials/katacoda/thanos/x-playground/courseBase.sh @@ -1,7 +1,7 @@ #!/usr/bin/env bash docker pull quay.io/prometheus/prometheus:v2.20.0 -docker pull quay.io/thanos/thanos:v0.22.0 +docker pull quay.io/thanos/thanos:v0.23.1 docker pull quay.io/thanos/thanosbench:v0.2.0-rc.1 docker pull minio/minio:RELEASE.2019-01-31T00-31-19Z diff --git a/tutorials/katacoda/thanos/x-playground/step1.md b/tutorials/katacoda/thanos/x-playground/step1.md index 6b0a54e2e3..8336605df8 100644 --- a/tutorials/katacoda/thanos/x-playground/step1.md +++ b/tutorials/katacoda/thanos/x-playground/step1.md @@ -169,7 +169,7 @@ docker run -d --net=host --rm \ ### Step1: Sidecar ``` -docker run -it --rm quay.io/thanos/thanos:v0.22.0 --help +docker run -it --rm quay.io/thanos/thanos:v0.23.1 --help ```{{execute}} @@ -180,7 +180,7 @@ docker run -d --net=host --rm \ -v ${CURR_DIR}/prom-eu1-replica0-config.yaml:/etc/prometheus/prometheus.yml \ --name prom-eu1-0-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19091 \ --grpc-address 0.0.0.0:19191 \ @@ -195,7 +195,7 @@ docker run -d --net=host --rm \ -v ${CURR_DIR}/prom-eu1-replica1-config.yaml:/etc/prometheus/prometheus.yml \ --name prom-eu1-1-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19092 \ --grpc-address 0.0.0.0:19192 \ @@ -210,7 +210,7 @@ docker run -d --net=host --rm \ -v ${CURR_DIR}/prom-us1-replica0-config.yaml:/etc/prometheus/prometheus.yml \ --name prom-us1-0-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --http-address 0.0.0.0:19093 \ --grpc-address 0.0.0.0:19193 \ @@ -223,7 +223,7 @@ docker run -d --net=host --rm \ ``` docker run -d --net=host --rm \ --name querier \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:9090 \ --grpc-address 0.0.0.0:19190 \ diff --git a/tutorials/katacoda/thanos/x-playground/step2.md b/tutorials/katacoda/thanos/x-playground/step2.md index bfbbeb91f6..7bf658c970 100644 --- a/tutorials/katacoda/thanos/x-playground/step2.md +++ b/tutorials/katacoda/thanos/x-playground/step2.md @@ -65,7 +65,7 @@ docker run -d --net=host --rm \ -v ${CURR_DIR}/prom-eu1-replica0:/prometheus \ --name prom-eu1-0-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --tsdb.path /prometheus \ --objstore.config-file /etc/thanos/minio-bucket.yaml \ @@ -85,7 +85,7 @@ docker run -d --net=host --rm \ -v ${CURR_DIR}/prom-eu1-replica1:/prometheus \ --name prom-eu1-1-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --tsdb.path /prometheus \ --objstore.config-file /etc/thanos/minio-bucket.yaml \ @@ -105,7 +105,7 @@ docker run -d --net=host --rm \ -v ${CURR_DIR}/prom-us1-replica0:/prometheus \ --name prom-us1-0-sidecar \ -u root \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ sidecar \ --tsdb.path /prometheus \ --objstore.config-file /etc/thanos/minio-bucket.yaml \ @@ -130,7 +130,7 @@ Let's run Store Gateway server: docker run -d --net=host --rm \ -v ${CURR_DIR}/minio-bucket.yaml:/etc/thanos/minio-bucket.yaml \ --name store-gateway \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ store \ --objstore.config-file /etc/thanos/minio-bucket.yaml \ --http-address 0.0.0.0:19094 \ @@ -143,7 +143,7 @@ docker run -d --net=host --rm \ docker stop querier && \ docker run -d --net=host --rm \ --name querier \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ query \ --http-address 0.0.0.0:9090 \ --grpc-address 0.0.0.0:19190 \ @@ -162,7 +162,7 @@ Visit https://[[HOST_SUBDOMAIN]]-9090-[[KATACODA_HOST]].environments.katacoda.co docker run -d --net=host --rm \ -v ${CURR_DIR}/minio-bucket.yaml:/etc/thanos/minio-bucket.yaml \ --name compactor \ - quay.io/thanos/thanos:v0.22.0 \ + quay.io/thanos/thanos:v0.23.1 \ compact \ --wait --wait-interval 30s \ --consistency-delay 0s \