首页 文章

多个客户的多个极端部分,具有kubernetes中的单个traefik入口控制器

提问于
浏览
1

情况:

我希望许多客户共享一组公共IP来访问kubernetes集群 .

它完成的集群内基于主机名的路由 . 但我想为我所有客户的域提供HTTPS .

我有一组边缘路由器节点,每个节点都有一个公共IP . 有一个Traefik入口控制器配置为DaemonSet监听这些节点 .

让我们知道可以有数千个拥有数千个域名的客户 .

我的问题是我想拥有多个 acme 部分 .

从我的入口控制器清单中的ConfigMap中提取:

[acme]
  email = "ca@mycompany.com"
  storage = "/etc/traefik/acme.json"
  entryPoint = "https"    
  onHostRule = true
  caServer = "https://acme-v02.api.letsencrypt.org/directory"
[[acme.domains]]
  main = "mycustomer1.com"
[acme.httpChallenge]
  entryPoint = "http"

我理想的解决方案是将每个客户https配置拆分为单独的文件,每个文件都有自己的极限设置 .

或者,更好的是,有一种方法从入口资源配置它:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress
namespace: garden
annotations:
    kubernetes.io/ingress.class: traefik

    #
    # LET'S ENCRYPT CONFIGURATION COULD BE HERE.
    # THAT WAY IT WOULD BE EASY TO CONFIGURE HTTPS FOR EACH CUSTOMER.
    #

spec:
rules:
    - host: mycustomer1.com
    http:
        paths:
        - path: /
            backend:
            serviceName: backend
            servicePort: 80

有没有办法实现这个目标?

1 回答

  • 0

    我建议尝试为每个客户创建多个 kind: Ingress 并管理它们 . 您可以为每个Ingress类使用特殊的configmap

相关问题