You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何扩容Terraform管理的EKS节点磁盘且不重建节点避免状态不同步

EKS节点磁盘在线扩容(不替换节点、无状态漂移)操作指引

为什么添加disk_size参数会提示替换节点

你使用的v12.2.0版本的EKS Terraform模块,修改节点组的disk_size配置默认会更新关联的启动模板(Launch Template)版本,模块默认触发节点组的滚动更新,所以会提示替换现有节点。

操作步骤

第一步:仅更新Terraform启动模板配置,不触发节点替换

在node_groups配置中添加disk_size = 40参数:

module "eks" {
  source  = "terraform-aws-modules/eks/aws"
  version = "12.2.0"

  cluster_name    = local.cluster_name
  cluster_version = "1.19"
  subnets         = module.vpc.private_subnets

  # 其他原有配置保持不变

  node_groups = {
    first = {
      desired_capacity = 1
      max_capacity     = 5
      min_capacity     = 1

      instance_type = "m5.large"
      # 新增磁盘配置
      disk_size = 40
    }
  }
}

执行命令仅更新启动模板,跳过节点组滚动更新:

terraform apply -target=module.eks.aws_launch_template.this["first"]

执行完成后,启动模板已经更新为40GB磁盘配置,后续新扩容的节点会自动使用40GB磁盘,现有运行节点不受影响。

第二步:在线扩容现有节点的EBS卷

  • 在EC2控制台找到对应EKS节点挂载的根卷,直接执行卷扩容操作,将容量调整为40GB
  • 登录到EKS节点,完成操作系统文件系统扩展,确认df -h输出中根分区容量已更新为40GB

第三步:验证状态一致性

执行terraform plan,此时不会再提示任何资源变更,Terraform状态与云端实际资源配置完全同步,无漂移问题。

可选长期优化

如果后续需要避免类似磁盘调整触发节点替换,可以在node_groups配置中添加如下参数,自定义节点组更新策略:

update_config = {
  max_unavailable = 0
}

内容的提问来源于stack exchange,提问作者tech4242

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 10:06:03