Terraform使用的注意事项与秘密管理
零停机部署的局限性
在使用自动扩展组(ASG)结合 create_before_destroy 进行零停机部署时,存在一些问题。
与自动扩展策略不兼容
使用 create_before_destroy 进行部署时,它无法与自动扩展策略配合使用。每次部署后,ASG的大小会重置为 min_size 。例如, webserver-cluster 模块中有一些 aws_autoscaling_schedule 资源,会在早上9点将集群中的服务器数量从2增加到10。如果在11点进行部署,替换的ASG将只启动2台服务器,而不是10台,并且这种情况会一直持续到第二天早上9点。
解决方法有:
- 调整 aws_autoscaling_schedule 的 recurrence 参数。
- 设置ASG的 desired_capacity 参数,通过自定义脚本使用AWS API确定部署前运行的实例数量。
缺乏原生解决方案
对于零停机部署这样重要且复杂的任务,应优先使用原生的一流解决方案,而不是将 create_before_destroy 、 min_elb_capacity 和自定义脚本等随意拼凑的变通方法。
AWS为自动扩展组提供了名为实例刷新(ins
超级会员免费看
订阅专栏 解锁全文
37

被折叠的 条评论
为什么被折叠?



