Terraform模块反复将Redis缓存的三个内存属性值从200改为642
Redis Terraform模块配置异常问题

我在使用Terraform管理Redis缓存模块时遇到了一个问题:每次重新运行流水线,maxfragmentation reserved、maxmemory delta、maxmemory reserved这三个属性都会从设置的默认值200自动被改成642,其他模块属性没有变化。
排查方向:
- 检查Terraform模块的默认值逻辑:有些模块会根据Redis实例的规格(比如内存大小)自动计算这三个参数的值,而非直接使用用户设置的默认值。查看模块源码中是否有基于实例规格动态计算的逻辑。
- 确认变量优先级:确保你的自定义值已经正确传递到模块中,没有被模块内部的默认计算逻辑覆盖。可以通过
terraform plan输出查看这三个参数的最终计算值来源。 - 检查远程状态:如果使用了远程状态存储,确认状态文件中这三个参数的存储值是否正确,是否存在外部资源修改了状态的情况。
- 查看Redis实例本身的配置:有些云厂商的Redis服务会根据实例配置自动调整内存相关参数,即便Terraform设置了值,也会被云平台的自动配置覆盖。可以登录云控制台查看Redis实例的实际配置规则。
内容的提问来源于stack exchange,提问作者Ganesh Thorave
相关产品推荐
相关产品推荐

