【问题标题】:How to parameterize multiple kubernetes manifests in terraform如何在 terraform 中参数化多个 kubernetes 清单
【发布时间】:2022-06-11 04:06:29
【问题描述】:

我在main.tf中有以下内容

data "kubectl_path_documents" "yaml-files" {
  pattern = "${path.module}/manifests/*.yaml"
}

resource "kubectl_manifest" "yaml-manifests" {
  for_each  = toset(data.kubectl_path_documents.yaml-files.documents)
  yaml_body = each.value
}

我需要参数化 yaml 文件中的某些字段,以便能够为 dev 和 prod 部署不同的资源集。如果它是一个 yaml,我知道有一种方法可以做到这一点。很多yaml文件应该怎么做

├── manifests
│   ├── gdp-configmap.yaml
│   ├── gdp-agent-deamonset.yaml
│   ├── gdp-collector-configmap.yaml
│   ├── gdp-collector-deployment.yaml

感谢任何帮助。

【问题讨论】:

  • “我知道如果它是一个 yaml 有办法做到这一点。”请根据清单的数量解释这对您有何不同。我认为这无关紧要,所以知道原因会很有用。
  • 我强烈建议使用 registry.terraform.io/providers/kbst/kustomization/latest/docs/… 并简单地使用 kustomize 的机制来实现基于环境的参数化。

标签: kubernetes terraform kubectl


【解决方案1】:

我能够使用 null_resource 解决此问题,该资源执行带有要 sed 的值的 sh 脚本。

【讨论】:

    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 2020-01-11
    • 2022-01-14
    • 2022-01-14
    • 2023-03-25
    • 1970-01-01
    • 2021-01-04
    • 2022-01-26
    相关资源
    最近更新 更多