python - 使用 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 上做错了什么吗?
解决方案
检查 CLB 的健康检查。罪魁祸首通常会在那里。您可以看到您的 CLB 正在哪个端口和端点上执行健康检查。在适当的端点上配置运行状况检查,实例应再次标记为运行状况良好。
推荐阅读
- javascript - 将 blob 附加到 url 并显示
- r - 有没有一种简单的方法来计算两个日期时间之间的分钟数,不包括特定的时间间隔?
- java - 是否可以用多个公钥包装一个密钥?
- javascript - Puppeteer - 错误:未定义窗口 - 在 page.evaluate 嵌套函数中
- python - YouTube Analytics API - 按频道分组的内容所有者的总观看次数
- javascript - 在节点上应用评估:Javascript
- mysql - 对 MySQL 选择命令的结果进行算术运算
- canvg - 无法将 SVG 图像转换为画布 3.0.7
- flutter - 有没有办法使用格式(样式)将文本复制到剪贴板?
- asp.net-core-webapi - ASP.net core Odata 从响应中删除“@odata.context”和“value”