通过 Terraform Helm 提供程序设置 grafana.ini

Posted

技术标签:

【中文标题】通过 Terraform Helm 提供程序设置 grafana.ini【英文标题】:Setting grafana.ini via Terraform Helm provider 【发布时间】:2020-01-25 13:51:16 【问题描述】:

我可以使用 stable/grafana 图表、Terraform 和 Helm 提供程序安装 grafana。我正在尝试使用新的 grafana.ini 文件配置 grafana,应该可以使用 set,但它似乎根本无法获取配置。

我也尝试使用 Helm 发布资源 values 键以 yaml 格式(使用*** grafana.ini 键)合并到相同的配置中,但也没有成功。

我想要实现的是一个包含我的配置的文件,以 ini 或 yml 格式传递给 grafana Helm 图表,以便我可以使用 Terraform 正确配置 grafana(最终我需要通过配置配置 OAuth 提供程序)。

下面的相关配置片段。

图表https://github.com/helm/charts/tree/master/stable/grafana Terraform v0.12.3 provider.helm v0.10.2 provider.kubernetes v1.8.0

grafana.ini

[security]
admin_user = username

main.tf(摘录)

resource "helm_release" "grafana" 
  chart = "stable/grafana"
  name = "grafana"

  set 
    name = "grafana.ini"
    value = file("grafana.ini")
  

【问题讨论】:

【参考方案1】:

我最终找到了合并 values 键的正确方法 - 事实证明(毫不奇怪)我在转换为 YAML 时 grafana.ini 的格式错误。这是工作配置:

config.yaml

grafana.ini:
  default:
    instance_name: my-server
  auth.basic:
    enabled: true

main.tf

resource "helm_release" "grafana" 
  chart = "stable/grafana"
  name = "grafana"
  values = [file("config.yaml")]

【讨论】:

以上是关于通过 Terraform Helm 提供程序设置 grafana.ini的主要内容,如果未能解决你的问题,请参考以下文章

使用 Helm 而不是 Terraform 的困惑

在 GKE 集群上使用 Terraform 部署 Helm 工作负载

通过 helm / terraform 安装自定义 grafana 数据源

等待条件时terraform helm释放超时

卡在 Terraform 到 Kubernetes 的部分 helm 版本中

设置Go环境以创建自定义Terraform提供程序