我有一个容器(机器学习应用程序),它能够加载存储在持久卷中的预先训练的机器学习模型。我可以通过 REST API 给出模型名称来要求应用程序加载特定模型。
现在我想扩展这个应用程序,以便我可以在任何副本(不是所有副本)中加载任何模型,并且应该能够解析该模型中的数据。
我知道这可以通过多个部署和指向每个部署的多个服务来完成,以便每个实例都有一个单独的节点端口,并且我可以通过这些不同的节点端口访问每个实例的 REST API。通过这样做,我可以记录哪个模型加载到我自己的哪个实例上。
是否有任何推荐的方法可以在不进行多个部署但通过副本的情况下完成此要求? (就像在服务级别维护具有副本和手动负载均衡器的单个部署文件)
最佳答案
正如您所提到的,实现这一目标的首选方法是通过多个部署和服务。
除非手动创建,否则副本集由部署管理,您将无法在单个部署中运行多个运行不同版本的副本集。
每个版本有一个服务+部署,并且前面有一个入口来根据某些信息路由流量,这肯定会更容易。它可以是 header 、子域、路径等。
要生成所有部署和服务,您可以查看 kustomize .
关于docker - Kubernetes:一种手动将流量路由到不同副本的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66100888/