因此,我应用TF提供程序通过简单的terraform apply创建150个资源,并注意到它以批方式输出资源:
# batch #1
foo_resource.bar_1: Creating...
...
foo_resource.bar_10: Creating...
foo_resource.bar_1: Creation complete after 12s [id=...]
...
foo_resource.bar_10: Creation complete after 15s [id=...]
# batch #2
foo_resource.bar_11: Creating...
...此外,当我打开跟踪日志时,我可以看到在同一秒钟内有10个日志:
# batch #1
2022-03-03T00:48:59.139-0800 [INFO] provider.: 2022/03/03 00:48:59 [DEBUG] Created foo_1: timestamp=2022-03-03T00:48:59.139-0800
2022-03-03T00:48:59.139-0800 [INFO] provider.: 2022/03/03 00:48:59 [DEBUG] Created foo_3: timestamp=2022-03-03T00:48:59.139-0800
...
# batch #2
2022-03-03T00:49:20.866-0800 [INFO] provider.: 2022/03/03 00:49:20 [DEBUG] Created foo_12: timestamp=2022-03-03T00:49:10.866-0800因此,您可以清楚地看到,批处理#1和批处理#2之间的时间戳差异是关于20秒(00:49:20 - 00:48:59),这与提供程序在创建每个资源后内部使用的超时完全相同,因此它似乎不会同时发送150创建请求,而是在批处理大小为10的批处理中执行请求。
问题是Terraform批处理资源是自动创建的还是只是巧合?
发布于 2022-03-03 09:12:42
Terraform不执行批处理,但具有并行性限制,默认为10:https://www.terraform.io/cli/commands/apply#parallelism-n
https://stackoverflow.com/questions/71334570
复制相似问题