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

OpenShift集群中Grafana Loki组件间TLS加密配置问题求助

OpenShift 上 Loki Ingester TLS 配置故障排查与修复

核心排查与修复步骤

1. 证书有效性与信任链校验

  • 确认 ingester 使用的 OpenShift 自签名证书包含完整的 SAN(Subject Alternative Name):必须覆盖 ingester 的 Service DNS 名(如 loki-ingester.loki.svc.cluster.local)、Pod IP、headless Service 域名,否则上下游组件会因域名不匹配拒绝建立 TLS 连接。
  • 同步上下游组件的信任链:将 OpenShift 自签名 CA 注入到 Promtail、Grafana、distributor 的信任存储中。例如在 Promtail 的 Deployment 中挂载 configmap/openshift-service-ca.crt 到容器的 /etc/pki/ca-trust/extracted/pem/ 目录,并执行 update-ca-trust 命令;Grafana 可临时勾选数据源配置的Skip TLS Verify做测试,正式环境需导入 CA 证书。

2. Ingester TLS 配置参数完整性

  • 确保 ingester 的 Loki 配置同时覆盖 HTTP 和 gRPC 端口的 TLS 设置,两者缺一不可:
    server:
      http_listen_port: 3100
      grpc_listen_port: 9095
      http_tls_config:
        cert_file: /etc/tls/tls.crt
        key_file: /etc/tls/tls.key
        client_auth: "NoClientCert" # 需双向认证时改为 RequireAndVerifyClientCert
      grpc_tls_config:
        cert_file: /etc/tls/tls.crt
        key_file: /etc/tls/tls.key
    
  • 检查证书挂载权限:确认 ingester Pod 挂载的 TLS Secret 路径正确,证书文件权限为 644,容器运行用户拥有读取权限。

3. Service 与网络策略校验

  • 确认 ingester Service 的 targetPort 与配置的 TLS 端口(3100/9095)完全匹配,端口协议设置为 TCP。
  • 检查 NetworkPolicy:确保允许 Promtail(跨 namespace 场景)、Grafana、distributor 访问 ingester 的 TLS 端口,避免网络策略拦截连接。

4. 日志与调试验证

  • 查看 ingester Pod 日志,搜索 TLS/connection 关键词,定位如 x509: certificate signed by unknown authority 或 tls: bad certificate 这类具体错误。
  • 在 Promtail Pod 中执行测试命令:curl -v https://loki-ingester.loki.svc.cluster.local:3100/ready,观察 SSL 握手过程判断证书信任问题。
  • 在 Grafana Pod 中验证 API 连通性:curl -v --cacert /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem https://loki-ingester.loki.svc.cluster.local:3100/loki/api/v1/labels,确认 CA 信任生效。

典型配置示例(OpenShift 环境)

Ingester Deployment 证书挂载片段

volumes:
- name: tls-secret
  secret:
    secretName: loki-ingester-tls
containers:
- name: ingester
  volumeMounts:
  - name: tls-secret
    mountPath: /etc/tls
    readOnly: true

Promtail 信任 OpenShift CA 配置片段

volumes:
- name: openshift-ca
  configMap:
    name: openshift-service-ca.crt
containers:
- name: promtail
  volumeMounts:
  - name: openshift-ca
    mountPath: /etc/pki/ca-trust/extracted/pem/
    readOnly: true
  command:
  - /bin/sh
  - -c
  - update-ca-trust && /usr/bin/promtail -config.file=/etc/promtail/config.yaml

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 13:42:19