[英]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后端分開。 (不知道你有沒有這個)
通過分離,您可以獨立推出新版本,每個應用都有一個部署周期。
另外,如果你想讓同一個應用的多個版本更長時間可用,你可以將它們部署在兩個不同的Deployment
中
例如兩個Deployment
,每個都有自己的Service
和Ingress
來設置兩者。
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 上部署前端,因為它是static內容。 有時您的 Javascript 使用緩存清除引用其他 Javascript 文件,那么如果您的所有 static 內容都可從 CDN 獲得,則處理此類設置會容易得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.