【问题标题】:How to create multiple sub domains pointing to same Kubernetes service using ingress controller如何使用入口控制器创建多个指向同一 Kubernetes 服务的子域
【发布时间】: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


    【解决方案1】:

    一条记录

    *.organization.com
    

    ingress.yaml

    apiVersion: extensions/v1beta1
    kind: Ingress
    metadata:
      name: bookstore
      annotations:
        ...
    
    spec:
      tls:
      - hosts:
        - "*.organization.com"
        secretName: <secret>
      rules:
       - host: "*.organization.com"
         http:
          paths:
          - path: /
            backend:
              serviceName: bookstore-service
              servicePort: 8080
    

    【讨论】:

    • 嗨@RaiBnod,我应该能够在运行时动态创建新路由。每当将应用程序的新订阅添加到我们的系统时,我都需要添加新路由。
    • 更新了答案,Ingress 在这种情况下支持通配符。
    • 有趣!我将探讨这个解决方案是否符合我的要求。谢谢:)
    猜你喜欢
    • 2020-12-28
    • 2021-05-30
    • 2018-08-26
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多