空响应Kubernetes负载均衡器

时间:2020-06-21 18:19:48

标签: kubernetes kubernetes-ingress aws-fargate aws-eks

更新:在我的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集群的步骤?一切都可以管理...

感谢任何指针!

1 个答案:

答案 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路由。