【问题标题】:Terraform EKS Node Groups Private SubnetTerraform EKS 节点组私有子网
【发布时间】:2020-10-17 10:12:44
【问题描述】:

我正在尝试使用 terraform 将沙盒 EKS 集群和节点组部署到 AWS,但在节点组方面我遇到了困难。

我的集群创建良好,但在尝试应用节点组时出现以下错误:

Ec2SubnetInvalidConfiguration: One or more Amazon EC2 Subnets of <subnet_id> for node group <node group name> does not automatically assign public IP addresses to instances launched into it.

这是我的模块中用于创建子组的代码:

resource "aws_eks_node_group" "default" {
  count = var.create ? 1 : 0
  cluster_name    = local.eksclustername
  node_group_name = "${local.eksclustername}-ng"
  node_role_arn   = aws_iam_role.node[0].arn
  subnet_ids      = var.subnet_ids

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

  depends_on = [
    aws_iam_role_policy_attachment.AmazonEKSWorkerNodePolicy,
    aws_iam_role_policy_attachment.AmazonEKS_CNI_Policy,
    aws_iam_role_policy_attachment.AmazonEC2ContainerRegistryReadOnly,
    aws_eks_cluster.default
  ]
}

我正在尝试将节点组部署到私有子网中,我假设这是此错误的根源。我知道使用 EKSCTL,您可以将节点组部署到私有子网,但我不确定如何使用 terraform。

我是否缺少配置中的标签、设置变量?

【问题讨论】:

  • 这是 Terraform 中的一个问题,直到 5 月版本 2.63.0 发布。该问题在GitHub 上进行了介绍。您可以尝试升级看看是否有帮助?
  • 我正在使用提供程序版本 2.68.0,但此问题仍然存在。我的子网需要设置在创建时创建 set IPv4,默认情况下设置为 false,因为它们是私有子网

标签: amazon-web-services terraform amazon-eks


【解决方案1】:

我今天遇到了同样的消息。就我而言,错误消息具有误导性:NAT 网关未在私有子网中正确设置,并且实例无法访问 Internet。我发现本指南有助于检查这一点:https://docs.aws.amazon.com/vpc/latest/userguide/nat-gateway-troubleshooting.html#nat-gateway-troubleshooting-no-internet-connection

在不太可能的情况下,您犯了与我完全相同的错误,在 Terraform 中添加 aws_route_table_association 是最终让事情正常进行的原因。

【讨论】:

    猜你喜欢
    • 2021-10-12
    • 2020-12-03
    • 2021-03-16
    • 2021-05-29
    • 2020-12-09
    • 2020-09-19
    • 2020-02-07
    • 2020-08-19
    • 2021-04-11
    相关资源
    最近更新 更多