【发布时间】:2022-01-14 00:17:43
【问题描述】:
我们有一个 Saas 应用程序,我们可以为其创建多个订阅。每当创建新订阅时,我们都需要使用订阅名称创建一个新的别名路由到同一个应用程序。
示例:
应用领域:bookstore.oraganization.com
订阅名称:silver-plan
现在需要使用“silver-plan-bookstore.oraganization.com”创建一个新的别名路由
目前的方法: 我们正在为每个应用程序创建一个入口资源,如下面的 yaml 文件中所述
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: bookstore
annotations:
...
spec:
tls:
- hosts:
- bookstore.oraganization.com
secretName:
rules:
- host: bookstore.oraganization.com
http:
paths:
- path: /
backend:
serviceName: bookstore-service
servicePort: 8080
- host: silver-plan-bookstore.oraganization.com <--- this alias route is created using java client library at runtime when subscription is created
http:
paths:
- path: /
backend:
serviceName: bookstore-service
servicePort: 8080
每当为应用程序创建新订阅时,我们都会使用 Kubernetes java 客户端在运行时创建别名路由。
问题: 使用我们当前的方法,每当我们升级包含入口资源定义的应用程序掌舵图时,使用 java 客户端库创建的所有别名路由都会被删除或删除。
我需要您的帮助来了解我目前的方法是否正确,或者有什么更好的方法或其他方法来实现这一要求。
谢谢。
【问题讨论】:
标签: kubernetes kubernetes-ingress nginx-ingress saas