AWS EKS 节点组停留在“正在删除”状态

问题描述 投票:0回答:1

我正在使用 terraform 部署 AWS 基础设施。我坚持在 EKS 节点组正在删除状态。运行状况显示未找到 IAM 角色,我再次创建了该角色并尝试从 CLI 更新节点组,它显示

“调用UpdateNodegroupVersion操作时发生错误(ResourceInUseException):节点组无法更新,因为它当前不处于Active状态”

我也无法从 CLI 和 terraform 中删除集群和节点组。在我的 terraform 脚本中,nodeGroup 的实例类型是(SPOT - t3.medium),但是当我从 CLI 检查 nodeGroup 时,我看到该实例是(按需 t3.large)。我的 terraform 代码中没有这样的配置。

main.tf: 
module "vpc" {
  source = "./modules/vpc"
  cluster_name = var.cluster_name
}

module "eks" {
  source = "./modules/eks"
  cluster_name = var.cluster_name
  private_subnet_ids = module.vpc.private_subnet_ids
  subnet_ids = module.vpc.subnet_ids
}


module "karpenter" {
  source = "./modules/karpenter"
  eks-nodeName = module.eks.eks-data
  eks-connect-provider-url = module.eks.aws_iam_openid_connect_provider
  eks-connect-provider-arn = module.eks.aws_iam_openid_connect_provider-arn
  cluster_name = module.eks.cluster_name
  private-nodes = module.eks.aws_eks_node_group-private-nodes
}

nodes.tf
resource "aws_eks_node_group" "private-nodes" {
  # count            = var.delete_nodegroup ? 1 : 0
  cluster_name = aws_eks_cluster.cluster.name
  node_group_name = "private-nodes"
  node_role_arn = aws_iam_role.nodes.arn
  
  # subnet_ids = [ 
  #   aws_subnet.private-eu-west-1a.id,
  #   aws_subnet.private-eu-west-1b.id
  #  ]

  subnet_ids = var.private_subnet_ids

    capacity_type  = "SPOT"
    instance_types = ["t3.medium"]

   scaling_config {
     desired_size = 1
     max_size = 6
     min_size = 1
   }

   update_config {
    max_unavailable = 1
   }

   labels = {
     role = "general"
   }

  
depends_on = [
    aws_iam_role_policy_attachment.nodes-AmazonEKSWorkerNodePolicy,
    aws_iam_role_policy_attachment.nodes-AmazonEKS_CNI_Policy,
    aws_iam_role_policy_attachment.nodes-AmazonEC2ContainerRegistryReadOnly,
  ]

  # Allow external changes without Terraform plan difference
  lifecycle {
    ignore_changes = [scaling_config[0].desired_size]
  }
  
}

我用这个命令删除了nodeGroup

aws eks delete-nodegroup --cluster-name eks-gd360 --nodegroup-name private-nodes --region eu-west-1

我已遵循以下文档:删除托管节点组

删除 EKS 集群

amazon-web-services terraform amazon-eks kubectl
1个回答
0
投票

我与 AWS 支持计费团队合作解决了这个问题,最初,他们建议购买 AWS 开发人员支持,以获得针对当前问题的开发人员帮助。我表示我相信这个问题是 AWS 内部的,他们同意进一步调查。

4 到 5 天后,支持团队采取了删除 NodeGroup 的行动,这使我能够删除 EKS 集群。

我问他们技术原因,他们是这样回答的:

这是 AWS 端的内部问题,可能由于多种原因而发生。但是,他们建议您等到当前请求完成后才能提交下一步操作。 例如:当您创建集群时,请等待其成功完成,然后再开始创建节点组。如果我们避免在请求进行过程中重叠请求,我们就可以避免再次重复此错误。

我通过 terraform destroy 销毁了资源,可能是 terraform 发生了问题。

© www.soinside.com 2019 - 2024. All rights reserved.