我有一个大的应用程序结构与FastAPI(有很多路由器),它运行在AWS Lambda中。我想将它迁移到Kubernetes中的容器中。. 从我的研究来看,OpenFaaS是一个很好的解决方案。但是我找不到关于如何做到这一点的文档。
谁有参考资料或更好的解决方案?
如果您正在使用python或Ruby
你可以创建docker文件,用它来创建docker镜像,并简单地将它部署到Kubernetes上。
FROM ruby:2.7-alpine3.11
WORKDIR /home/app
COPY . .
RUN bundle install
CMD ["ruby", "main.rb"]
对于OpenFass,他们提供了很好的实验室文档来创建Async函数等。
实验室:https://github.com/openfaas/workshop
如果您正在寻找示例,您可以查看官方回购:https://github.com/openfaas/faas/tree/master/sample-functions
额外
还有另一个不错的选择Knative或Kubeless
您可以找到python Kubeless示例和CI/CD示例:https://github.com/harsh4870/kubeless-kubernetes-ci-cd
尝试使用模板构建上游FastAPI应用程序作为OpenFAAS函数。这将创建一个docker映像,你可以在Kubernetes集群中运行和部署。
你可以在下面的github repo
中看到如何这样做