更新:在我的AWS Load Balancer的基本配置中显示“服务中0个实例中的0个”
我知道,这是标题相同的其他几个问题的重复,但是几乎没有答案,所以我要问自己:
我已按照本教程的说明进行操作(两次) https://kubernetes.io/docs/tutorials/stateless-application/expose-external-ip-address/
我使用基于Fargate的AWS托管的kubernetes。
在浏览器中调用url时,我得到的只是一个空响应。我检查了负载均衡器是否具有正确的权限和端口。一切都很好(全部由AWS自动设置)。
我已验证所有Pod正在运行,并且该服务正在运行。另外,对于本特定教程及其设置,这似乎不是问题。实际上,昨天我遇到了这个“空响应”问题,还有另一个hello-world-deployment(来自aws教程)。
似乎从根本上讲是错误的。也许我忘记了设置Kubernetes集群的步骤?一切都可以管理...
感谢任何指针!
答案 0 :(得分:3)
将Fargate与EKS群集一起使用时,您无权访问节点实例。这意味着Fargate不支持CLB / NLB。
对于Fargate,建议使用ALB Ingress Controller
入口规则示例:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
alb.ingress.kubernetes.io/scheme: internet-facing
kubernetes.io/ingress.class: alb
labels:
app: hello-world
name: hello-world
spec:
rules:
- http:
paths:
- backend:
serviceName: my-service
servicePort: 8080
path: /*
注意:如果您的EKS群集包含Fargate和EC2实例的混合,那么您将能够使用经典的负载平衡,该负载平衡将首先到达EC2 eks实例,然后使用内部Kubernetes将其转发到您的Fargate Pod路由。