Size: a a a

2019 December 04

AK

Andrey Kartashov in terraform_ru
yamldecode у тебя только в момент tf plan выполнится
источник

IM

Iurii Medvedev in terraform_ru
Andrey Kartashov
yamldecode у тебя только в момент tf plan выполнится
на то это и эспериментальная функция пока что
источник

AK

Andrey Kartashov in terraform_ru
что изменится, когда она перестанет быть экспериментальной? Она у тебя будет IDE выполнятся?
источник

IM

Iurii Medvedev in terraform_ru
Andrey Kartashov
что изменится, когда она перестанет быть экспериментальной? Она у тебя будет IDE выполнятся?
да как раньше было с тварс к примеру
источник

IM

Iurii Medvedev in terraform_ru
Рендеринг появится
источник

AK

Andrey Kartashov in terraform_ru
в tfvars обычный hcl, который проверяется тем же самым анализатором, что и код в tf
источник

IM

Iurii Medvedev in terraform_ru
Andrey Kartashov
в tfvars обычный hcl, который проверяется тем же самым анализатором, что и код в tf
раньше ни одна ide не видела их ну и вот тебе магия
Iuriis-MacBook-Pro:test iuriimedvedev$ terraform validate

Error: Invalid index

 on main.tf line 4, in resource "null_resource" "cluster":
  4:     cluster_instance_ids = yamldecode(file("test.yml"))["test4"]

The given key does not identify an element in this collection value.
источник

AK

Andrey Kartashov in terraform_ru
а вот это уже интересно
источник

IM

Iurii Medvedev in terraform_ru
Andrey Kartashov
а вот это уже интересно
валидейт проверяет и у меня pycharm и goland настроены на валидейт
источник

AK

Andrey Kartashov in terraform_ru
только оно тебе подсветит строку с yamldeode, а не строку в test.yml
источник

A

Andor in terraform_ru
Andrey Kartashov
синтаксис и отсутсвие поля "test" - немного разные вещи
Для этого прям статический анализатор нужен
источник

IM

Iurii Medvedev in terraform_ru
Andrey Kartashov
только оно тебе подсветит строку с yamldeode, а не строку в test.yml
е мае вот когда уйдет из эсперименталки будет это все делать, так же было и раньше
источник

AK

Andrey Kartashov in terraform_ru
we'll see
источник

AK

Andrey Kartashov in terraform_ru
вы, батенька, оптимист
источник

IM

Iurii Medvedev in terraform_ru
Andrey Kartashov
вы, батенька, оптимист
нет батенька, еще раз повторюсь раньше ide не понимали если переменные лежали в тварс ide это не показатель и строго зависит от имплементации
источник

AK

Andrey Kartashov in terraform_ru
Iurii Medvedev
нет батенька, еще раз повторюсь раньше ide не понимали если переменные лежали в тварс ide это не показатель и строго зависит от имплементации
согласен. Я и говорю, посмотрим
источник

НС

Никита Суворов in terraform_ru
Парни, спасибо, вы очень помогли. Основное закончу, переключусь в yaml =)
источник

🌠

🌠 in terraform_ru
Пытаюсь установить helm chart используя terraform, падает ошибка

Error: rpc error: code = Unknown desc = configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "kube-system"

 on ../../modules/cluster_config/cluster-autoscaler.tf line 1, in resource "helm_release" "cluster-autoscaler":
  1: resource "helm_release" "cluster-autoscaler" {


а вот сам файл

resource "helm_release" "cluster-autoscaler" {
 name = "cluster-autoscaler"
 chart  = "stable/cluster-autoscaler"
 namespace = "kube-system"

 set {
   name  = "rbac.create"
   value = true
 }

 set {
   name  = "autoDiscovery.clusterName"
   value = module.common.cluster_name
 }

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

ошибку гуглил, последовал вот этому совету

https://github.com/terraform-providers/terraform-provider-helm/issues/77#issuecomment-474148274

выпала ошибка лишь что tiller уже установлен а ошибки выше уже не было, но при проверке kubectl get pods --all-namespaces автосткейлера нету в неймспейсах
источник

IM

Iurii Medvedev in terraform_ru
🌠
Пытаюсь установить helm chart используя terraform, падает ошибка

Error: rpc error: code = Unknown desc = configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list resource "configmaps" in API group "" in the namespace "kube-system"

 on ../../modules/cluster_config/cluster-autoscaler.tf line 1, in resource "helm_release" "cluster-autoscaler":
  1: resource "helm_release" "cluster-autoscaler" {


а вот сам файл

resource "helm_release" "cluster-autoscaler" {
 name = "cluster-autoscaler"
 chart  = "stable/cluster-autoscaler"
 namespace = "kube-system"

 set {
   name  = "rbac.create"
   value = true
 }

 set {
   name  = "autoDiscovery.clusterName"
   value = module.common.cluster_name
 }

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

ошибку гуглил, последовал вот этому совету

https://github.com/terraform-providers/terraform-provider-helm/issues/77#issuecomment-474148274

выпала ошибка лишь что tiller уже установлен а ошибки выше уже не было, но при проверке kubectl get pods --all-namespaces автосткейлера нету в неймспейсах
прав нет акаунт дефаулт надо добавить в админы
источник

🌠

🌠 in terraform_ru
Iurii Medvedev
прав нет акаунт дефаулт надо добавить в админы
сервис аккаунт создавал вот такой;

resource "kubernetes_service_account" "tiller_service_account" {
 metadata {
   name = "tiller"
   namespace = "kube-system"
 }
}

resource "kubernetes_cluster_role_binding" "tiller_cluster_role_binding" {
 metadata {
   name = "tiller"
 }
 role_ref {
   api_group = "rbac.authorization.k8s.io"
   kind      = "ClusterRole"
   name      = "cluster-admin"
 }
 subject {
   kind      = "ServiceAccount"
   name      = "default"
   namespace = "kube-system"
 }
 subject {
   kind      = "ServiceAccount"
   name      = "${kubernetes_service_account.tiller_service_account.metadata.0.name}"
   namespace = "kube-system"
 }
}


и добавлял его в провайдер helm

provider "helm" {
   service_account = "${kubernetes_service_account.tiller_service_account.metadata.0.name}"
   kubernetes {
       ...
   }
}


это то?
источник