问题描述
EKS Fargate可以在没有出站互联网访问的私有EKS群集中使用吗?
根据AWS文档,没有出站Internet访问的私有EKS群集不支持aws-alb-ingress控制器:
https://docs.aws.amazon.com/eks/latest/userguide/private-clusters.html
私有群集支持AWS Fargate。您必须包括 STS VPC端点。有关更多信息,请参阅私有的VPC端点。 集群。您必须在AWS上使用第三方入口控制器 Fargate,因为Amazon EKS上的ALB入口控制器不起作用 在私有集群中,并且因为经典负载均衡器和网络 在Fargate上运行的Pod不支持负载均衡器。
不幸的是,AWS在此处未提供有关第三方选项的建议。我无法找到有关EKS Fargate专用集群的任何信息。
问题:
1。)是否有使用ALB的开放源代码入口控制器可用于Fargate?
2。)是否有aws-alb-ingress控制器在私有集群中不起作用的特定原因?如果是这个问题,我也许可以请求特定端口的出站访问,但是AWS对此不提供任何详细信息。
解决方法
我最终通过应用程序网格入口来完成此操作:
https://aws.amazon.com/blogs/containers/introducing-ingress-support-in-aws-app-mesh/
,截至10月中旬,文档中的该段已更改,现在显示为
私有群集支持AWS Fargate。您必须包括STS VPC端点。有关更多信息,请参阅专用群集的VPC端点。 您可以使用AWS负载平衡器控制器来部署AWS Application Load Balancer和Network Load Balancer。控制器支持具有IP目标的网络负载平衡器,这是与Fargate一起使用所必需的。有关更多信息,请参见Application load balancing on Amazon EKS和Load balancer – IP targets。
我强调已更改的部分。
因此,您现在 可以将基于ALB的Ingress
与私有群集一起使用,而newly-introduced IP-target mode for LoadBalancer
Service
也支持私有群集。
请注意,这需要AWS Load Balancer Controller,它是aws-alb-ingress-controller的新版本。