首页 > 解决方案 > 使用 AWS 负载均衡器将来自 EKS 的 FastAPI 公开给外部世界

问题描述

我在 EKS 中部署了一个 FastAPI 应用程序。它目前正在侦听端口 8000。它正在使用 uvicorn 运行。 在此处输入图像描述

我试图通过在 EKS 中创建服务从 AWS 创建经典负载均衡器来将其公开。

apiVersion: v1
kind: Service
metadata:
  name: bc-warrants-api-svc
spec:
  type: LoadBalancer
  selector:
    app: bc-warrants-api
  ports:
    - protocol: TCP
      port: 8000
      targetPort: 8000

当我检查负载均衡器时,它说目标实例是 OutOfService。

我有一个 Django 应用程序,它运行得非常好(通过经典的负载均衡器暴露在外部)。

有人知道我在 FastAPI 上做错了什么吗?

在此处输入图像描述

标签: pythonamazon-web-servicesamazon-eksaws-load-balancer

解决方案


检查 CLB 的健康检查。罪魁祸首通常会在那里。您可以看到您的 CLB 正在哪个端口和端点上执行健康检查。在适当的端点上配置运行状况检查,实例应再次标记为运行状况良好。


推荐阅读