Questions tagged «terraform»

5
如何管理.tf和.tfstate中的机密?
我想使用Terraform MySQL Provider保留mysql用户列表,并为创建新的测试环境提供方便。在.tf和.tfstate文件都似乎想要MySQL的存储密码明文。 关于.tf: 据我了解,.tf文件位于版本控制中,并由团队维护。秘密存在时,这种做法.tf有何不同?可以对这些值进行加密吗? 关于.tfstate: 我可以.tfstate在运行Terraform apply之后将其安全地存储在某个地方,但是对于这种用例,最好根本不存储它?

6
如何测试Terraform配置?
如果您具有复杂程度适中的Terraform配置,您将如何围绕可作为持续集成/持续交付管道的一部分执行的配置编写测试? 例如,您可能具有指定以下所需状态的多云配置: Azure容器服务在Azure中托管Docker Azure Blob存储 SQL Azure EC2容器服务以在AWS中托管Docker Amazon S3存储服务 Amazon RDS SQL Server数据库 可能terraform apply会从头开始创建上述内容,或从部分部署状态过渡到上述所需状态。 我知道Terraform将其工作分为执行计划阶段和应用程序阶段,后者实际上是对目标体系结构进行更改。是否可以使用它来针对执行计划编写测试,如果有的话,是否有框架可以帮助编写这些测试?

2
如何在Terraform中使用cloud-init?
我正在使用Digital Ocean和Terraform,并且我已经可以自动执行域,子域,网络首选项和主机的操作,但是有一个名为以下部分User data: 该字段的描述说Allows the use of Cloud-init to configure your droplet。环顾四周,我找到了文档。 我的问题是,在使用Terraform时如何利用此优势?

4
Terraform:仅应用一个tf文件
我的securitygroup.tf文件中有安全组。 在同一目录中,还有许多其他资源描述(rds,ec2等)。 有没有一种方法可以terraform apply --auto-approve 只为我表演securitygroups.tf?
17 terraform 

1
如何使用Terraform在DigitalOcean团队中创建主机?
Digital Ocean上的团队是最新的,并且没有有关将它们与Terraform一起使用的文档。 我能找到的所有信息就是如何手动使用它们。 我希望我能说些类似的话: resource "digitalocean_droplet" "host" { image = "${var.image}" name = "${var.host_name}" region = "${var.region}" size = "${var.size}" private_networking = "${var.private_networking}" ssh_keys = ["${var.ssh_fingerprint}"] team = "${var.team}" } 请注意team = "${var.team}"最后。 由于Terraform只是提供程序API顶部的包装,因此我查看了文档,试图找到有关此字段的某些端点,但一无所获。 如何将Digital Ocean团队与Terraform一起使用?或者,main如果我想使用Terraform自动化操作,我会被该帐户卡住吗?
11 terraform 

4
Terraform:是否有一种简洁的语法为一个资源指定多个标签?
要将多个标签附加到一个资源,我目前使用多个tag块: resource "aws_autoscaling_group" "instance" { ... tag { key = "Name" value = "${var.cluster_prefix}" propagate_at_launch = true } tag { key = "Owner" value = "${var.tag_Owner}" propagate_at_launch = true } tag { key = "Project" value = "${var.tag_Project}" propagate_at_launch = true } } 它可以工作,但是我想知道是否有更简洁的语法。这也容易出错,因为您必须propagate_at_launch为每个标签指定。 更新:该问题是在Terrafrom v0.12发布之前编写的。从那时起,使用动态嵌套块的支持得到了改善(请参阅下面的答案)。
10 terraform 

1
由于AutoScaling组状态下的扩展策略,如何管理所需容量的更改?
由于Terraform中AutoScaling组状态下的缩放策略,如何管理所需容量的变化? 具体来说,假设我提供了一个Terras的aws_autoscaling_group资源,desirable_capacity为4,并且在高CPU利用率上采用了扩展策略。后来,自动缩放组已通过缩放策略更新为所需容量6,但是在我的terraform .tfstate中未捕获此状态。 如果我想通过terraform对我的自动缩放组状态进行后续更改,该如何在不重置desirable_capacity的情况下进行更改(因为它在.tf中没有更改)?我可以以某种方式自动更新desirable_capacity以匹配当前组的大小,还是应该根本不设置desired_capacity?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.