如何在Docker或Kubernetes中协调不同版本的应用程序

时间:2018-09-28 21:11:22

标签: docker kubernetes

我需要根据选择为用户提供该应用的三个版本(现在假设它是一个下拉列表)

我有3个运行该应用程序的v1,v2,v3的容器。

如何根据选择将应用程序路由到Kubernetes中的正确容器?如何分隔我的版本?

2 个答案:

答案 0 :(得分:3)

分别使用容器v1,v2和v3,用pod创建3个不同的create one。另外,创建3个Kubernetes deployments来将流量转发到这3个部署。

答案 1 :(得分:0)

实际上,这是一个经典问题。想象您创建了为客户端提供任何服务的任何应用程序。想象一下,您的客户使用API​​通过客户应用与您的服务进行通信。您的应用程序的第一个版本使用的API具有一种受支持的方法。想象一下,您的应用程序开始流行起来,您决定通过向API中添加2个新创建的方法来改善应用程序的功能。因此,您决定升级您的API和客户端应用程序。新客户可以使用3种方法,并且一切正常,但是使用旧版客户端应用的客户又如何呢?这就是为什么大多数API都有版本控制的原因,例如v1 / v2 / v3。旧客户端通过APIv1进行通信,新客户端通过APIv2进行通信,等等。

很显然,由于同一应用程序的版本不同,因此某些较新版本的应用程序支持更多功能。也许最好通过Web服务器(如Nginx)或其他(包括Ingress)(通过根据URL进行重定向)来处理请求。例如,如果URL已获得v1,则将其路由到版本1等的应用程序部署。

我不确定这是否是您的情况,但我希望它能对您有用。