【问题标题】:Can't create AWS ALB kubernetes ingress controller in Terraform无法在 Terraform 中创建 AWS ALB kubernetes 入口控制器
【发布时间】:2020-10-11 20:48:12
【问题描述】:

我使用 this repo 使用 Terraform 创建了一个 AWS EKS 集群。现在,我正在尝试在 this guide 之后添加一个 ALB kubernetes 入口控制器

在我尝试添加 kubernetes 集群角色之前,一切正常。然后我得到这个错误:

kubernetes_cluster_role.alb-​​ingress:正在创建...

错误:发布 “https://E8475B1B3693C979073BF0D721D876A7.sk1.ap-southeast-1.eks.amazonaws.com/apis/rbac.authorization.k8s.io/v1/clusterroles”: 拨号tcp:查找 E8475B1B3693C979073BF0D721D876A7.sk1.ap-southeast-1.eks.amazonaws.com 在 127.0.0.53:53:没有这样的主机

在 main.tf 第 6 行,资源“kubernetes_cluster_role”中 “alb-ingress”:6:资源“kubernetes_cluster_role”“alb-ingress” {

在所有其他基础设施到位(或没有,我得到相同的错误)的情况下,这是我产生错误的最小代码。

provider "aws" {
  region  = "ap-southeast-1"
  version = "~> 2.65.0"
}

resource "kubernetes_cluster_role" "alb-ingress" {
  metadata {
    name = "alb-ingress-controller"
    labels = {
      "app.kubernetes.io/name" = "alb-ingress-controller"
    }
  }

  rule {
    api_groups = ["", "extensions"]
    resources  = ["configmaps", "endpoints", "events", "ingresses", "ingresses/status", "services"]
    verbs      = ["create", "get", "list", "update", "watch", "patch"]
  }

  rule {
    api_groups = ["", "extensions"]
    resources  = ["nodes", "pods", "secrets", "services", "namespaces"]
    verbs      = ["get", "list", "watch"]
  }
}

【问题讨论】:

  • 您如何设置 Kubernetes 连接详细信息?还是只是从您的~/. kube/config 文件中提取它?您是否有一个不再启动的旧 EKS 集群?
  • 我突然想到,在后续的 terraform 运行中继续部署入口控制器之前,我可能需要更新 .kube/config。

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


【解决方案1】:

在为 kubernetes 入口控制器运行单独的 terraform 清单之前,需要将 kubeconfig 本地复制到 ~/.kube/config。同时在eks集群资源中设置endpoint_private_access = true

【讨论】:

    猜你喜欢
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-18
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    相关资源
    最近更新 更多