小编Mar*_*ung的帖子

使用Terraform时的最佳做法

我正在将我们的基础设施交换成terraform.实际管理terraform文件和状态的最佳实践是什么?我意识到它的基础设施是代码,我会将我的.tf文件提交到git中,但我也提交了tfstate吗?它应该驻留在S3这样的地方吗?我最终希望CI能够管理所有这些,但这已经非常紧张,需要我找出文件的移动部分.

我真的只是想看看那里的人们是如何在生产中使用这种类型的东西的

terraform devops

91
推荐指数
4
解决办法
3万
查看次数

弹性豆茎领导者选举问题

我们有一个 Rails 应用程序,几个月来一直运行良好。今天我们发现了领导人选举的一些不一致之处。主要是:

su - "leader_only bundle exec rake db:migrate" webapp
Run Code Online (Sandbox Code Playgroud)

经过几个小时的反复试验(以及数十次部署),我们的开发应用程序中的任何实例都无法运行此迁移。/usr/bin/leader_only查找从未在任何实例上设置的环境变量(开发应用程序只有一个实例)。

将应用程序部署一次设置为 1 个实例并提供/usr/bin/leader_only期望的环境变量值是可行的,但不是现在和应该的那样。(现在所有实例都是领导者,因此它们将徒劳地运行 db:migrate 并且一次只有 1 个,因此如果我们有很多实例,这会减慢我们的速度)

我们认为这可能是由于代码和/或应用程序的一些问题造成的,所以我们重新构建了它。不用找了。

我什至克隆了我们的测试应用程序的 RDS 服务器,并从保存的配置创建了一个新应用程序,部署了一个新的 git 哈希,但它也从未运行 db:migrate。它尝试并显示leader_only行,但它从未运行。这就排除了代码、配置、工件。

另外,就其价值而言,它从未说过由于 RAILS_SKIP_MIGRATIONS 跳过迁移,该迁移的值为 false。这意味着它实际上正在尝试运行 db:migrate,但这并不是因为没有被描述为领导者。

amazon-web-services amazon-elastic-beanstalk

2
推荐指数
1
解决办法
2398
查看次数