问题标签 [infrastructure-as-code]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1246 浏览

amazon-web-services - Terraform backend.tf 通过模块

我在另一个目录中有模块。所以我想添加 backend.tf 并从 linux environment variable 设置提供程序数据。

但是 terraform 给出错误。

我的结构如下所示。

我已经从终端导出了变量 ORGANISATION、REGION 和 TERRAFORM_BUCKET 变量,但它给出了这个错误:

我该如何解决这个问题?

注意:通过环境变量从模块调用 backend.tf。(动态和默认变量)

请帮忙 !

0 投票
2 回答
645 浏览

kubernetes - 如何将现有的谷歌云平台基础设施转换/迁移到 terraform 或其他 IaC

目前,我们将 kubernetes 集群 master 设置为区域性,并要求它是区域性的。我的想法是将现有集群和所有工作负载/节点/资源转换为一些基础设施即代码 - 最好是 terraform(但可以像一组gcloud命令一样简单)。

我知道使用 GCP 我可以为即将运行的命令生成原始命令行,但我不知道如何(或者我什至可以)将现有基础架构转换为相同的基础架构。

根据我的研究,看起来不太可能[以直接的方式]做我想做的事情。所以我正在寻找任何建议,即使只是阅读一些其他文档(对于我可能不熟悉的工具)。

TL;DR:我希望利用我现有的 Google Cloud Platform Kubernetes 集群并重建它,以便将位置类型从区域更改为主 - 我实际上并不关心这是如何完成的。目前公认的最佳实践方法是什么?如果没有,那么一种快速而肮脏的方法是什么?

如果您需要我进一步说明,我会 - 我故意省略了与我所做的特定研究的链接。

0 投票
0 回答
473 浏览

amazon-web-services - 使用 Route53 资源处理 Terraform 异常

我在通过 terraform 使用 aws 资源时遇到问题。就我而言,Route53 返回如下所示的错误

这些数据源报错后,如下图

找不到匹配的 Route53Zone

我想处理这些异常,如果在 route53 中找不到记录,在 Route53 中创建记录。总而言之,我想将异常作为条件处理。

0 投票
0 回答
82 浏览

amazon-web-services - Terraform Route53 数据

我正在使用名称服务器选项为 CloudFlare 资源编写 terraform 模块。在我的情况下,如果用户设置 route53 名称服务器,模块会将记录设置为 cloudflare 作为 NS 记录,否则用户 NameServers 设置为 CloudFlare 的记录

当我运行这个模块时,它给出了一个错误显示如下。

找不到变量“data.aws_route53_zone.main.name_servers”的资源“data.aws_route53_zone.main”

如何将变量设置为条件?

谢谢请帮忙!

0 投票
1 回答
11343 浏览

amazon-web-services - Terraform 嵌套模块调用和输出

我正在处理基础设施配置,所以我将模块称为嵌套。

有我的文件系统树。

我的文件显示如下。

所以在我的例子中,我想获得来自 in/main.tf 中资源创建模块的输出。但是当我运行 terraform apply 命令时没有输出。

我该如何解决这个问题?

0 投票
1 回答
1885 浏览

amazon-web-services - Terraform - 具有混合实例策略的 ASG

我正在使用 AWS 和 Terraform 来启动基础设施,但具体来说,我在使用混合实例策略启动 ASG 时遇到了问题。我正在尝试启动一个 ASG,其中一个实例将始终按需提供,其余位置(所有相同类型),从表面上看,这看起来很容易,但我已经尝试了一段时间并不断遇到各种错误. 这是我目前正在使用的:

但我得到这个错误:

根据文档,launch_template是可选的。我已经尝试过设置它,但它只是进入了一个所谓的可选设置的兔子洞,其中一些我根本不想设置(比如覆盖)。

实现我所追求的正确方法是什么?无论哪种方式,基于上述内容,文档至少部分错误......

0 投票
0 回答
72 浏览

python - 如何在使用 testinfra 库的失败测试中返回 stderr=?

我不知道如何在测试失败的情况下使用 testinfra 库在 python 中打印此函数的标准错误(py.test)(我尝试过使用语句打印,但它是布尔请求)。

PS:它是布尔字符。

我想要一个用于 testinfra 库中 FAILED 测试的 print stderr 命令。

0 投票
3 回答
1383 浏览

azure - Azure 可用区参数语法

我正在尝试参数化使用可用区的 VM 部署。但是,我在部署时不断收到此错误:

'在'1'行和'5118'列中为模板参数'availabilityZoneParameter'提供的值无效。'

或者:

“部署模板解析失败:'错误转换值\“['1']\”以键入'System.String[]'。路径''。'。”

参数文件语法目前为:

然后我将它作为参数移植并将其转换为变量,然后将其导出到其他链接模板以及在初始构建模板中使用它。

部署文件语法中的参数:

原始部署文件语法中的变量:

原始部署文件中的磁盘创建语法:

原始部署模板中的 VM 参数,该参数输入链接模板:

虚拟机模板参数:

虚拟机模板变量:

VM模板资源(调用参数):

对于上下文 - 这里有几个文件在起作用。一个初始的 azureparameters 文件、一个 azuredeploy 文件,然后是至少两个也依赖于可用区值的链接模板。

关于正确语法的任何建议?

0 投票
3 回答
17914 浏览

amazon-web-services - CloudFormation 资源创建(如果不存在)

我想用 CloudFormation 创建 Route53 HostedZone,所以我想检查 Route53 中有关 HostedZone 的一些信息是否存在。

在我的案例逻辑中,我需要检查资源是否存在,忽略资源创建。我该如何处理这个问题。

我的 CloudFormation 模板如下所示。

0 投票
1 回答
5952 浏览

amazon-web-services - AWS 和 Terraform - 安全组中的默认出口规则

我在许多提供者是 AWS 的 Terraform 项目中看到了一个可重复 的配置:允许所有出站流量的出站(出口)规则的配置。

据我了解,这是AWS 用户指南中提到的 AWS 中的默认行为:

默认情况下,安全组包含允许所有出站流量的出站规则。您可以删除规则并添加仅允许特定出站流量的出站规则。如果您的安全组没有出站规则,则不允许来自您的实例的出站流量。

安全组的常见 Terraform 设置示例 - 我的问题的重点是出口块:

这个配置是为了文档还是有技术原因?