【发布时间】:2022-03-31 01:00:36
【问题描述】:
我尝试使用 null_resource 在 kubernetes 清单上运行 kubectl apply。我经常发现这适用于没有特定原因的更改。我正在运行 terraform 0.14.8。
data "template_file" "app_crds" {
template = file("${path.module}/templates/app_crds.yaml")
}
resource "null_resource" "app_crds_deploy" {
triggers = {
manifest_sha1 = sha1(data.template_file.app_crds.rendered)
}
provisioner "local-exec" {
command = "kubectl apply -f -<<EOF\n${data.template_file.aws_ingress_controller_crds.rendered}\nEOF"
}
}
地形规划输出
# module.system.null_resource.app_crds_deploy must be replaced
-/+ resource "null_resource" "app_crds_deploy" {
~ id = "698690821114034664" -> (known after apply)
~ triggers = {
- "manifest_sha1" = "9a4fc962fe92c4ff04677ac12088a61809626e5a"
} -> (known after apply) # forces replacement
}
但是,这个 sha 确实在状态文件中。
[I] ➜ terraform state pull | grep 9a4fc962fe92c4ff04677ac12088a61809626e5a
"manifest_sha1": "9a4fc962fe92c4ff04677ac12088a61809626e5a"
【问题讨论】:
-
这是完整的
terraform plan输出吗?我希望它也能说明data.template_file.app_crds,因为data.template_file.app_crds.rendered似乎正在产生“(应用后已知)”。
标签: terraform amazon-eks