我需要每个用户都可以通过自定义网址访问服务,例如. 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
最佳答案
如果您使用库存控制器,您将能够打开主机名并转到不同的后端服务.听起来你不想枚举所有的子域名 – >服务映射,在这种情况下,您可能需要编写自己的控制器,写出在适当的proxy_pass或重定向行中使用$http_host的Nginx配置.如果您需要帮助,请给它一个镜头(https://github.com/kubernetes/contrib/tree/master/ingress/controllers)并在同一个仓库中提交错误.