在几个月没有处理基础架构更改之后,我尝试在一台新机器上加载我们的 terragrunt 文件,但遇到了几个错误,我找不到解决方案。
基本上,当存在or选项时,该terraform.tfvars文件(或任何与此相关的文件)似乎*.auto.tfvars会被 terraform 忽略。-var-var-file
我们使用分层的 terragrunt 配置为不同的环境提供不同的凭证配置,这就是为什么有一个account.tfvars包含所有数据的文件。
一切都一直工作到今年八月,所以也许我没有在变更日志中发现一些变化?
特定模块terraform.tfvars:
terragrunt = {
include {
path = "${find_in_parent_folders()}"
}
terraform {
source = "../../../modules//cockpit"
}
}
bucket_prefix = "cockpit-"
domain_name = "cockpit.donutapp.io"
Run Code Online (Sandbox Code Playgroud)
家长terraform.tfvars:
terragrunt = {
remote_state {
backend = "s3"
config {
encrypt = true
bucket = "my-${get_aws_account_id()}-tfstate"
key = "production/${path_relative_to_include()}/terraform.tfstate"
region = "us-east-1"
dynamodb_table = "terraform-locks"
}
}
terraform {
extra_arguments "bucket" {
commands = …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 ECS Fargate 设置几个服务,这些服务通过 Terraform 进行配置。它们使用相同的模块,只是镜像、ALB 目标组、环境变量和端口映射不同。
3 个服务中的 2 个成功启动了他们的任务,只有一个(不幸的是主服务),不想启动并Network bindings - not configured为容器显示。我使用的端口是80。
任务定义具有正确的端口映射。
我试过更改端口(到 8080),使用多个端口映射并多次重新创建服务,但没有任何效果。
当然,由于运行状况检查失败,该任务会被负载均衡器终止。
任何指针可能是错误的?我从 2017 年开始发现了一些与此相关的 Github 问题,但在 EC2 支持的 ECS 实例上,已声称已修复。
作为参考,这里是任务定义 JSON:
{
"ipcMode": null,
"executionRoleArn": "ROLE_ARN",
"containerDefinitions": [
{
"dnsSearchDomains": null,
"logConfiguration": {
"logDriver": "awslogs",
"secretOptions": null,
"options": {
"awslogs-group": "/drone",
"awslogs-region": "eu-central-1",
"awslogs-stream-prefix": "drone-server/"
}
},
"entryPoint": null,
"portMappings": [
{
"hostPort": 80,
"protocol": "tcp",
"containerPort": 80
}
],
"command": null,
"linuxParameters": null,
"cpu": 256,
"environment": [...],
"resourceRequirements": …Run Code Online (Sandbox Code Playgroud)