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

这是我的工作:

  • EKS群集
  • 在EKS集群中,我有运行
  • 的nginx入口 Controller
  • 我在VPC内有一个EC2,并验证了我可以使用入口 Controller URL
  • 通过EC2到达群集中运行的服务

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

  • 如果我这样做的方式不正确,请建议通过nginx入口 Controller 在API Gateway中公开EKS集群的正确方法。谢谢!

    最佳答案

    我发现了问题。当使用nginx-ingress-controller时,我只需要指定注释为“nlb”类型

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

    一旦使用此注释部署了入口 Controller ,它将自动在aws中创建一个nlb并根据定义的入口设置目标!我自己创建了一个新的nlb,然后试图指向不需要的入口 Controller (也是正确的方法)。

    关于amazon-web-services - 通过API网关公开在EKS中运行的Kubernetes服务,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60397246/

    10-11 11:02