如何将用户请求重定向到Kubernetes中的另一个部署?

问题描述

我有以下情况,

我在Kubernetes上有两个部署,由于某些问题,我的第一个部署需要关闭 并且用户请求需要路由到第二个部署,然后第一个部署将关闭 下来,一秒钟启动并运行。

如何将用户请求从第一个路由到第二个? 我知道有准备和活跃度检查,但是我将如何具体 在脚本中指定将请求发送到第二个部署。

基于我的有限知识,我认为可能会有其他方法将流量从第一部署重新路由到第二部署。 另外,我的用户请求是从用户发送到Kubernetes系统的连续视频图像。

非常感谢您的帮助。

解决方法

在“第二次部署”中,我假设您的意思是您的应用程序的新版本,在Kubernetes中,这将是Deployment资源的更改,以使用其他image:

在Kubernetes中,您的应用程序通常会运行几个实例(“副本”)。并且当Deployment is updated包含新版本(例如新图像)时,Kubernetes会自动执行Rolling Update。这意味着它将从新映像(一个接一个)创建新实例,并同时终止该应用程序旧版本的实例。这意味着您将在短时间内同时运行两个版本的应用程序。用户请求将被路由到任何正在运行的实例。可以更改为使用其他部署策略,例如“替换”,或者您可以创建更高级的设置。

我的用户请求是从用户发送到Kubernetes系统的连续视频图像

对在Kubernetes上运行的应用程序的请求应该以幂等的方式设计-这样,如果连接中断,客户端可以重试该请求。