Hor*_*rus 5 terraform terragrunt
我创建了这个文件夹结构:
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 main.tf\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 terragrunt.hcl\nRun Code Online (Sandbox Code Playgroud)\n# FILE: terragrunt.hcl\n\ninclude {\n path = find_in_parent_folders()\n}\n\nlocals {\n common_vars = read_terragrunt_config(find_in_parent_folders("common.hcl"))\n cluster_name = local.common_vars.locals.cluster_name\n}\n\nterraform {\n source = "./main.tf"\n}\nRun Code Online (Sandbox Code Playgroud)\n# FILE: main.tf\n\nmodule "tags" {\n source = "..."\n\n eks_cluster_names = [local.cluster_name]\n}\n\nmodule "vpc" {\n source = "..."\n\n aws_region = local.common_vars.locals.aws_region\n \n ...\n\n vpc_custom_tags = module.tags.vpc_eks_tags\n \n ...\n}\nRun Code Online (Sandbox Code Playgroud)\n但对于local.我尝试使用的每一个,我都会收到一个错误:
A local value with the name "blabla" has not been declared\nRun Code Online (Sandbox Code Playgroud)\n所以现在我正在尝试找出一种方法来实现这项工作。我考虑遵循how-to-access-terragrunt-variables-in-terraform-code,但我不想创建一个variables.tf. 另外,另一个问题是我必须重新定义 中模块的所有输出main.tf,是否有更好的方法来做到这一点?
是否有一个我可以遵循的良好实践结构?我怎样才能将这些当地人“传播”terragrunt.hcl到main.tf?
Terragrunt 直接调用 TF 模块。这意味着摆脱main.tf并仅使用 Terragrunt 来连接您的模块。每个 TF 模块需要有一个单独的子文件夹(组件)terragrunt.hcl。
您的项目结构将如下所示:
\n.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 terragrunt.hcl\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 tags\n\xe2\x94\x82\xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 terragrunt.hcl\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 vpc\n \xc2\xa0\xc2\xa0 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 terragrunt.hcl\nRun Code Online (Sandbox Code Playgroud)\n请随意查看其工作原理以及变量如何在我的示例中跨模块传递。
\n| 归档时间: |
|
| 查看次数: |
6367 次 |
| 最近记录: |