Kubernetes Ingress控制器用于通配符URL映射

Jon*_*han 9 nginx kubernetes

我需要每个用户都可以通过自定义网址访问服务,例如.abccompany.mycloudapp.com,每个服务都是kubernetes服务我正在寻找入口控制器但是我需要一种方法来使用通配符主机字段并以某种方式将值读入路径:和service:fields; 这是我想到的一个入口控制器示例:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
 name: test
spec:
 rules:
 - host: *.bar.com
   http:
     paths:
     - path: /{{ value of * in * .bar.com }}
       backend:
         serviceName: {{value of * in *.bar.com }}Svc
         servicePort: 80
Run Code Online (Sandbox Code Playgroud)

Pra*_*h B 3

如果您使用库存控制器,您将能够打开主机名并访问不同的后端服务。听起来您不想枚举所有子域 -> 服务映射,在这种情况下,您可能需要编写自己的控制器,该控制器写出在适当的 proxy_pass 或重定向行中使用 $http_host 的 nginx 配置。如果您需要帮助,请尝试一下(https://github.com/kubernetes/contrib/tree/master/ingress/controllers)并在同一存储库中提交错误。