【发布时间】:2020-09-16 11:09:03
【问题描述】:
我有一个 Terraform 模块,我们将其称为 parent 和一个在其中使用的子模块,我们将其称为 child。目标是让子模块在创建 kubernetes_deployment 资源之前运行配置器。基本上,子模块构建并推送 Docker 映像。如果镜像不存在,kubernetes_deployment 将等待并最终超时,因为部署没有镜像可用于创建 pod。我已经尝试了我可以在网上找到的所有东西,子模块中的输出变量,在 kubernetes_deployment 资源中使用depends_on 等等,并且碰壁了。我将非常感谢任何帮助!
parent.tf
module "child" {
source = ".\\child-module-path"
...
}
resource "kubernetes_deployment" "kub_deployment" {
...
}
子模块路径\child.tf
data "external" "hash_folder" {
program = ["powershell.exe", "${path.module}\\bin\\hash_folder.ps1"]
}
resource "null_resource" "build" {
triggers = {
md5 = data.external.hash_folder.result.md5
}
provisioner "local-exec" {
command = "${path.module}\\bin\\build.ps1 ${var.argument_example}"
interpreter = ["powershell.exe"]
}
}
Terraform 错误输出示例:
module.parent.kubernetes_deployment.kub_deployment: Still creating... [10m0s elapsed]
Error output:
Error: Waiting for rollout to finish: 0 of 1 updated replicas are available...
【问题讨论】:
标签: terraform