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

创建EKS的aws-ebs-csi-driver插件时Terraform报错,求代码修改方案

问题解决:EKS AWS EBS CSI插件CREATE_FAILED错误

错误原因

这个错误的核心是集群中已存在手动部署的EBS CSI驱动资源(比如ebs-csi-node DaemonSet),其spec.selector字段和AWS官方EKS插件期望的配置不一致。由于Kubernetes中DaemonSet的spec.selector是不可变字段,即使设置了resolve_conflicts_on_create = "OVERWRITE",Terraform也无法覆盖修改这个字段,导致插件创建失败。

修改步骤与代码调整

1. 清理集群中现有冲突资源

先通过kubectl删除旧的EBS CSI相关资源:

kubectl delete daemonset ebs-csi-node -n kube-system
kubectl delete deployment ebs-csi-controller -n kube-system
kubectl delete serviceaccount ebs-csi-controller-sa -n kube-system

确保所有旧的EBS CSI驱动组件都被清理干净。

2. 调整Terraform代码

保留核心配置的基础上,补充更新时的冲突处理策略,避免后续更新出现类似问题:

resource "aws_eks_addon" "ebs_csi_addon" {
  cluster_name                = var.eks_cluster_name
  addon_name                  = "aws-ebs-csi-driver"
  resolve_conflicts_on_create = "OVERWRITE"
  resolve_conflicts_on_update = "OVERWRITE"
  service_account_role_arn    = module.ebs_csi_eks_role.iam_role_arn
  depends_on                  = [aws_eks_cluster.eks-cluster, aws_eks_node_group.eks-ng]
}

3. 重新执行Terraform操作

清理完成后,重新初始化并应用:

terraform init
terraform apply

额外说明

如果之前是通过Helm或者手动YAML部署的EBS CSI驱动,一定要完全清理所有相关资源(包括CRDs、RBAC规则等),否则官方插件仍会因为资源冲突无法正常创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 18:42:38