You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Thanos Query如何同时连接TLS与非TLS端点?

Thanos Query同时连接TLS与非TLS存储端点的实现方案

Thanos Query完全支持同时连接TLS加密和非TLS的存储端点,你之前遇到的问题是因为依赖了全局的grpc-client-*参数,导致所有端点都套用同一套TLS配置。解决核心是给每个存储端点单独指定TLS配置,而非依赖全局参数。

实现方法:针对单个端点配置TLS

Thanos允许通过--store参数的扩展语法,为每个存储端点单独附加TLS相关配置,格式如下:

--store=<端点地址>?<TLS参数键值对>

参数键名对应全局grpc-client-*参数去掉前缀grpc-client-后的部分,比如全局的grpc-client-tls-insecure对应端点参数的tls.insecure。

适配你的场景的命令示例

针对你提到的两个端点,启动命令可以写成:

thanos query \
  # 为prometheus-operated服务显式禁用TLS
  --store=dnssrv+_grpc._tcp.prometheus-operated?tls.insecure=true \
  # 为192.168.1.1:443指定TLS认证所需的证书文件
  --store=192.168.1.1:443?tls.cert=/path/to/client.crt&tls.key=/path/to/client.key&tls.ca=/path/to/ca.crt

配置说明:

  • 对于非TLS端点(如prometheus-operated):添加tls.insecure=true,强制Thanos使用非加密的gRPC连接
  • 对于TLS端点(如192.168.1.1:443):
    • 如果只需要单向认证且信任系统默认CA,可简化为--store=192.168.1.1:443(默认tls.insecure=false)
    • 如果需要自定义CA或双向认证,再指定tls.ca、tls.cert、tls.key等参数

注意事项

  1. 全局grpc-client-*参数会作为所有端点的默认配置,但单个端点的参数会覆盖全局设置
  2. 使用dnssrv服务发现时,附加的TLS参数会应用到所有通过服务发现找到的实例上
  3. 参数键值对之间用&分隔,确保命令行解析正确(如果用shell执行,注意转义&或者用引号包裹)

内容的提问来源于stack exchange,提问作者magiceses

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 18:45:01