首页 > 解决方案 > EKS 入口控制器创建没有看到标记的子网?

问题描述

我是 EKS 新手,我正在按照示例设置一个示例应用程序,该应用程序创建一个入口控制器、入口、服务和部署,来自如何在 Amazon EKS 集群上为 Fargate 设置 ALB 入口控制器?. 我创建了所有内容(部署、pod、服务、iam、服务帐户等),但我的入口控制器未能提出错误

E0224 19:09:07.053006       1 controller.go:217] kubebuilder/controller "msg"="Reconciler error" "error"="failed to build LoadBalancer configuration due to retrieval of subnets failed to resolve 2 qualified subnets. Subnets must contain the kubernetes.io/cluster/\u003ccluster name\u003e tag with a value of shared or owned and the kubernetes.io/role/elb tag signifying it should be used for ALBs Additionally, there must be at least 2 subnets with unique availability zones as required by ALBs. Either tag subnets to meet this requirement or use the subnets annotation on the ingress resource to explicitly call out what subnets to use for ALB creation. The subnets that did resolve were []"  "controller"="alb-ingress-controller" "request"={"Namespace":"mynamespace","Name":"2048-ingress"}

我确实在 Amazon EKS和其他显示如何标记我的 VPC 和子网的页面上根据应用程序负载平衡适当地标记了我的 VPC 和子网。

我有一个问题,我的入口清单有

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: "2048-ingress"
  namespace: "mynamespace"
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip

标签: kuberneteskubernetes-ingress

解决方案


所以事实证明我必须将标签添加到我的 VPC 的公共子网中,即使这是一个仅限私有的集群。


推荐阅读