簡體   English   中英

動態配置路由到兩組 pod

[英]Dynamically configuring routing to two set of pods

我在 Kubernetes 中部署了 web 解決方案(連接到 rest 服務的角度應用程序)。 我的解決方案中沒有使用任何 http 會話。

在升級我的 rest 服務時,我的兩個 pod 都需要 rest 服務版本 1 和 rest 服務版本 2 可用。 有沒有辦法設置網關/路由器,我可以動態配置我的端點?

我希望/myendpoint?version=1將流量路由到版本 1 的 POD 組,並/myendpoint?version=2將流量路由到另一組 POD。

我必須能夠在不停止服務的情況下動態添加新端點。

按部署周期分離組件

我建議將前端應用程序和 REST后端分開。 (不知道你有沒有這個)

通過分離,您可以獨立推出新版本,每個應用都有一個部署周期。

兩個部署或 N-1 兼容性

另外,如果你想讓同一個應用的多個版本更長時間可用,你可以將它們部署在兩個不同的Deployment

例如兩個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。

考慮對 static 資產使用 CDN

通常建議在 CDN 上部署前端,因為它是static內容。 有時您的 Javascript 使用緩存清除引用其他 Javascript 文件,那么如果您的所有 static 內容都可從 CDN 獲得,則處理此類設置會容易得多。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM