-1

我是 devops 世界的新手,对 Kubernetes 有疑问。我的用例如下。
我的组织目前使用 Kubernetes 容器编排平台将其所有微服务托管在 Docker 容器中。

我希望我的微服务容器如何使用 Kubernetes 进行扩展和自动化:

我在 Amazon S3 存储桶中存储了 100 多个 AI 模型。当 user1 向具有特定模型名称的容器发出请求时,应从 S3 中获取相应的模型并将其加载到容器内存中,然后 user1 应开始推理。同样,如果来自 user2 的另一个请求具有另一个模型名称,则新容器应该分拆 并且 user2 应该开始推理。对于 n 个模型请求,n 个容器应该分拆并为每个会话提供服务。容器应该根据不同的请求自动扩展。

由于上述逻辑类似于 AWS Lambda 函数的工作原理,因此我向我们的 devops 团队推荐了相同的逻辑。“他们告知他们不能将 AWS Lambda 用于单个微服务,因为它是无服务器的,而所有其他微服务都是在 Kubernetes 中运行的非无服务器”

我的问题是,相同的概念可以用 Kubernetes 实现吗?如果是这样,请建议一种方法或文档。

提前致谢。

4

4 回答 4

2

我会使用KFServing在 k8s 上进行无服务器推理。您可以将其安装为独立组件,也可以使用完整的Kubeflow工具包运行它。您可以将模型从 s3 注入到服务容器中,这些容器针对您可能使用的任何 ML 框架或语言进行了优化。它在后台使用 Knative 和 Istio 来实现“缩放到零”功能。

于 2021-02-12T20:21:17.260 回答
1

你看过 Kubeless https://kubeless.io/吗?

我还没有,但我想在某个时候玩。这是他们网站的引述:

Kubeless 是一个 Kubernetes 原生的无服务器框架,可让您部署少量代码(函数),而无需担心底层基础设施。它旨在部署在 Kubernetes 集群之上,并利用所有出色的 Kubernetes 原语。如果您正在寻找一个开源无服务器解决方案来克隆您可以在 AWS Lambda、Azure Functions 和 Google Cloud Functions 上找到的内容,那么 Kubeless 就是您的最佳选择!

于 2021-02-12T20:43:15.327 回答
1

检查 Knative 项目。它具有无服务器工作负载管理(服务组件)和事件组件。 https://knative.dev

它已被许多其他项目采用。这里列出了一些商业项目 https://knative.dev/docs/knative-offerings/

Knative 被广泛采用,并且拥有良好的开源社区(积极贡献等)

于 2021-02-13T20:35:49.433 回答
0

MicroFunctions 是开源的 Kubernetes Native Serverless 平台,可让您部署少量代码,而无需担心底层基础设施管道。它利用 Kubernetes 资源提供自动扩展、API 路由、监控、故障排除,并支持每种编程语言。(Nodejs,Go,python,..)。

https://github.com/microfunctionsio/microfunctions

于 2021-04-08T18:12:59.340 回答