动态配置到两组Pod的路由

我在Kubernetes中部署了一个Web解决方案(连接到休息服务的角度应用程序)。我在解决方案中不使用任何http会话。

在升级我的休息服务时,我需要同时使用带有1号休息服务和2版休息服务的吊舱。有什么方法可以设置网关/路由器,以便可以动态配置端点?

我希望/myendpoint?version=1将流量路由到版本1的pod组,并且/myendpoint?version=2将流量路由到另一组pod

我必须能够在不停止服务的情况下动态添加新端点。

wwjj789456 回答:动态配置到两组Pod的路由

按部署周期分隔组件

我建议将前端应用和REST 后端分开。 (我不知道你是否已经有这个)

通过分离,您可以独立发布新版本,每个应用都有部署周期。

两个部署或N-1兼容性

此外,如果您希望长期使用同一应用程序的多个版本,则可以在两个不同的Deployment s中部署它们

例如两个Deployment,分别具有自己的ServiceIngress,两者都设置。

kind: Ingress
spec:
  rules:
  - host: foo.bar.com
    http:
      paths:
      - path: /v1/*
        backend:
          serviceName: service-v1
          servicePort: 8080
      - path: /v2/*
        backend:
          serviceName: service-v2
          servicePort: 8080

或者您可以具有 N-1 兼容性,因此版本2同时实现了/v1//v2/ API。

考虑将CDN用于静态资产

通常建议将前端部署在CDN上,因为它是静态内容。有时,您的Javascript使用cache busting引用了其他Javascript文件,如果CDN上所有静态内容都可用,则处理此类设置要容易得多。

本文链接:https://www.f2er.com/3143033.html

大家都在问