通过Terraform滚动更新GKE节点池机器类型的方法咨询
GKE节点池机器类型的Terraform滚动更新方案
直接修改Terraform配置中GKE节点池的machine_type字段,Terraform会执行删除原节点池并创建新节点池的操作,并不支持原生的滚动更新逻辑——这是因为GKE本身不允许直接修改现有节点池的机器类型,Terraform的行为只是对齐了GKE的API限制。
如果你的代码依赖固定的节点池名称,无法接受删除重建的方式,目前可行的替代方案是在Terraform中管理两个独立的节点池:
- 新增一个配置了目标机器类型的节点池到Terraform代码中,执行
terraform apply创建该节点池 - 通过节点亲和性、污点/容忍度或Pod驱逐策略,将工作负载逐步迁移至新节点池
- 确认工作负载运行稳定后,从Terraform配置中移除旧节点池的定义,再次执行
terraform apply完成旧节点池的销毁
这种切换式的迁移方法可以避免服务中断,同时满足对节点池名称的依赖要求。
内容的提问来源于stack exchange,提问作者Gary Turner
相关产品推荐
相关产品推荐

