【问题标题】:Terraform installation of helm charthelm chart 的 Terraform 安装
【发布时间】:2020-12-04 14:44:36
【问题描述】:
resource "kubernetes_namespace" "app_dynatrace_namespace" {
  count = var.application_cluster_dynatrace ? 1 : 0
#  provider = kubernetes
   metadata {
    name = var.splitter_dynatrace_namespace
  }

  depends_on = [null_resource.cluster_creation]
}


resource "helm_release" "application_cluster_dynatrace" {
  count = var.application_cluster_dynatrace ? 1 : 0
 # provider = helm
  repository = "https://raw.githubusercontent.com/Dynatrace/helm-charts/master/repos/stable/"
  chart = "dynatrace-oneagent-operator"
  name = "dynatrace-oneagent-operator"
  namespace = var.app_dynatrace_namespace

  values = [
   var.application_cluster_dynatrace ? "${file("dev/dynatrace/dynatrace.yaml")}" : null
  ]

  depends_on = [kubernetes_namespace.app_dynatrace_namespace]
}

变量文件有以下内容:

 variable "application_cluster_dynatrace" {}
    variable "app_dynatrace_namespace" { default = "devns" }

我正在使用上述 terraform 脚本在 kubernetes 集群中创建命名空间,然后为 dynatrace 代理安装 helm chart。当我运行脚本并在运行时提及“0”或 false 时,terraform 会破坏命名空间和 dynatrace 配置。当在运行时传递“0”或 false 时,terraform 中是否有办法不破坏命名空间(忽略步骤)?

Terraform v0.12.26

  • provider.google v3.24.0
  • provider.google-beta v3.33.0
  • provider.helm v1.2.2
  • provider.kubernetes v1.11.3
  • provider.null v2.1.2

【问题讨论】:

    标签: terraform google-kubernetes-engine dynatrace helmfile


    【解决方案1】:

    首先,这是 terraform 的预期行为 - 如果您将计数从 1 更改为 0,对于 terraform 这意味着“应该部署 0 个资源”,然后 terraform 将其删除。

    我认为您可以为“计数”参数使用不同的变量。例如,对于 app_dynatrace_namespace,您可以设置“application_cluster_dynatrace_namespace”,对于 application_cluster_dynatrace,请保留 application_cluster_dynatrace。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-18
      • 2022-08-17
      • 1970-01-01
      • 2020-01-24
      • 2020-06-02
      • 2023-02-09
      相关资源
      最近更新 更多