Terraform установка штурвала

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. Когда я запускаю сценарий и упоминаю 0 или false во время выполнения, terraform уничтожает пространство имен и конфигурацию dynatrace. Есть ли способ в terraform не разрушать пространство имен (игнорировать шаги), когда во время выполнения передается 0 или false?

Terraform v0.12.26

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

person Spartan87    schedule 14.08.2020    source источник


Ответы (1)


Во-первых, это ожидаемое поведение terraform - если вы изменили count с 1 на 0, для terraform это означает, что нужно развернуть 0 ресурсов, а terraform удалит его.

Я думаю, вы можете использовать разные переменные для параметров счета. Например, для app_dynatrace_namespace вы можете установить application_cluster_dynatrace_namespace, а для application_cluster_dynatrace оставить application_cluster_dynatrace.

person zombi_man    schedule 14.08.2020