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

Grafana Operator CRD中通过Secret传递数据库密码的问题求助

解决Grafana Operator CRD中通过Secret传递数据库密码的问题

你直接在配置里写${secret-name}没用,因为Grafana Operator不会自动解析这种占位符,只会把它原封不动写到grafana.ini里。要实现用Secret传密码,得用Operator CRD专门提供的valueFrom机制,步骤如下:

  1. 创建存储数据库密码的Secret
    先把密码做base64编码(比如执行echo -n "你的数据库密码" | base64生成编码值),然后创建Secret:

    apiVersion: v1
    kind: Secret
    metadata:
      name: grafana-db-secret
      # 确保和你的Grafana CR在同一个命名空间下
      namespace: your-namespace
    type: Opaque
    data:
      db-password: 你的base64编码密码
    
  2. 修改Grafana CRD配置,引用Secret
    在CR的spec.config.database字段下,把原来的明文密码替换成valueFrom引用Secret的配置,示例:

    apiVersion: grafana.integreatly.org/v1beta1
    kind: Grafana
    metadata:
      name: grafana
      namespace: your-namespace
    spec:
      config:
        database:
          type: postgres # 替换为你实际使用的数据库类型
          host: your-db-host:5432
          name: grafana_db
          user: grafana_user
          password:
            valueFrom:
              secretKeyRef:
                name: grafana-db-secret
                key: db-password
      # 其他原有配置保持不变...
    
  3. 验证配置生效
    重新应用CR后,等待Pod重启完成,进入Pod查看/etc/grafana/grafana.ini,此时password字段会被Operator替换成Secret中的实际值,也可以直接测试Grafana是否能正常连接数据库。

注意:如果Secret和Grafana CR不在同一个命名空间,需要给Grafana Operator的ServiceAccount添加读取目标namespace下Secret的权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 04:28:09