我使用在 Docker Compose 上运行的开源服务器应用程序。它有一些服务,包括 PostgreSQL DB 和 Redis。
如何使用 Terraform 在完整的 IaC 中最好地将此应用程序部署到 AWS?
ecs-cli
ecs-cli
现在支持docker compose
在 Amazon ECS 中发送配置。
但是,我不认为它可以与 Terraform 工作流程集成(这可能不是什么大惊小怪)。我知道肯定是,ecs-cli
是不是在CloudFormation支持,按照这一问题在这个时候,仍然打开。所以我认为它也不能轻易添加到 Terraform。
docker-compose.yml
文件,将其转换为kubectl
YAML。但这还不是完全的 IaC。每次 docker-compose 在源存储库中更改时,您都必须重新翻译您的配置。这听起来像很多工作。
helm
提供程序运行 Terraform 以在集群上安装带有 Helm …docker-compose kubernetes-helm apache-superset terraform-provider-aws amazon-eks
我遇到了一个很烦人的问题,我似乎无法为我的特定情况找到任何解决方案。在我的 mongo 聚合管道中,我想添加一个字段,并且根据另一个字段的子字段的存在,我想分配该其他字段的子字段的值,如果该其他字段的子字段不存在,则为 1。
这是我尝试过的:
pipelineStages.push(
{$addFields:
{field:
{$cond: [
{$ne: ["$otherField.subField", null]},
"$otherField.subField", 1]
}
}
}
);
Run Code Online (Sandbox Code Playgroud)
但是,它仅适用于该字段存在的情况。另一方面,该新字段根本没有添加到管道中。任何想法我做错了什么?