如何在K8S上部署Bitnami图表,terraform将传递自定义values.yaml?

如何在K8S上部署Bitnami图表,terraform将传递自定义values.yaml?,terraform,kubernetes-helm,bitnami,Terraform,Kubernetes Helm,Bitnami,朋友们,我想使用Terraform部署一个带有自定义values.yaml的bitnami掌舵图。这可能吗?当我只使用K8S和Helm时,我所做的是从Bitnami repo复制values.yaml,并更改所需内容,然后运行Helm install mysql-f values.yaml Bitnami/mysql。现在我必须用terraform部署所有的东西,我想知道如何才能做到这一点。我是否必须克隆整个Bitnami repo并按如下方式部署它 resource "helm_re

朋友们,我想使用Terraform部署一个带有自定义values.yaml的bitnami掌舵图。这可能吗?当我只使用K8S和Helm时,我所做的是从Bitnami repo复制values.yaml,并更改所需内容,然后运行
Helm install mysql-f values.yaml Bitnami/mysql
。现在我必须用terraform部署所有的东西,我想知道如何才能做到这一点。我是否必须克隆整个Bitnami repo并按如下方式部署它

resource "helm_release" "example" {
  name       = "my-local-chart"
  chart      = "./charts/example"
}
或者可以通过我的costum values.yaml部署图表吗?有什么想法吗?我对这一切一无所知。

要回答这个问题, 这在使用地形时是完全可能的。

[使用图表存储库]

您可以找到如何设置自定义
值.yaml
文件本身。以及如何使用远程存储库中的图表

[本地图表]

你可以找到如何指定一个特定的
,这里他们主要展示了如何使用本地图表(男人的你应该在你的本地文件系统中有图表,从地形代码中你必须指向它,就像你在问题中给出的那样)

同样对于本地图表,您也可以查看这一点

例如:

Helm:
helminstallmysql-f values.yaml-bitnami/mysql

地形:

resource "helm_release" "mysql" {
  name       = "mysql"
  repository = "https://charts.bitnami.com/bitnami"
  chart      = "mysql"
  version    = "8.2.3"

  values = [
    "${file("values.yaml")}"
  ]

  set {
    name  = "metrics.enabled"
    value = "true"
  }

  set {
    name  = "service.annotations.prometheus.io/port" 
    value = "9127"
    type  = "string"
  }
}
在上面,我正在设置自定义
values.yaml
文件中的值,尽管我正在覆盖
metrics.enabled
service.annotations.prometheus.io/port
来回答这个问题, 这在使用地形时是完全可能的。

[使用图表存储库]

您可以找到如何设置自定义
值.yaml
文件本身。以及如何使用远程存储库中的图表

[本地图表]

你可以找到如何指定一个特定的
,这里他们主要展示了如何使用本地图表(男人的你应该在你的本地文件系统中有图表,从地形代码中你必须指向它,就像你在问题中给出的那样)

同样对于本地图表,您也可以查看这一点

例如:

Helm:
helminstallmysql-f values.yaml-bitnami/mysql

地形:

resource "helm_release" "mysql" {
  name       = "mysql"
  repository = "https://charts.bitnami.com/bitnami"
  chart      = "mysql"
  version    = "8.2.3"

  values = [
    "${file("values.yaml")}"
  ]

  set {
    name  = "metrics.enabled"
    value = "true"
  }

  set {
    name  = "service.annotations.prometheus.io/port" 
    value = "9127"
    type  = "string"
  }
}
在上面,我正在设置自定义
values.yaml
文件中的值,尽管我正在覆盖
metrics.enabled
service.annotations.prometheus.io/port