通过API网关公开运行在EKS中的Kubernetes服务



我是Kubernetes和AWS的新手,正在为一个项目探索不同的AWS技术。作为其中的一部分,我正在做的一件事是看看我们如何让API网关中的路由连接到EKS集群(在VPC中(。

这就是我所做的:

  • EKS集群
  • 在EKS集群中,我运行了nginx入口控制器
  • 我在专有网络中有一个EC2,并验证了我可以通过EC2使用入口控制器url访问集群中运行的服务

这就是我正在尝试的:

  • 我试图创建一个API网关路由,以使用ingress-controller url访问同一服务->为了实现这一点,我正在尝试这里的步骤(因为我的集群位于VPC中(:https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-nlb-for-vpclink-using-console.html
  • 我不清楚的一件事是,如何将入口控制器url指定为NLB的目标?我可以指定的唯一目标是EC2实例,但我想通过入口控制器(这是K8s中负载均衡器类型的服务(引导流量

如果我这样做不对,请建议通过nginx入口控制器在API网关中暴露EKS集群的正确方法。谢谢

我发现了问题。当使用nginxingress控制器时,我只需要指定注释它是"nlb"类型

service.beta.kubernetes.io/aws-load-balancer-type:nlb

一旦我用这个注释部署了ingress控制器,它就会自动在aws中创建一个nlb,并根据定义的ingress设置目标!我自己创建了一个新的nlb,然后试图指向不需要的入口控制器(也不是正确的方式(。

最新更新