我无法让nginx控制器根据主机名进行路由。下面的YAML不起作用 - 流量进入默认后端/我得到404.但是,如果我删除了主机的值,则入口控制器成功地将流量路由到我的服务。如果我将它放在负载均衡器后面,该服务可以成功运行,但我希望有多个服务用于不同的主机名,所以我想使用入口控制器并使用单个IP。思考?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-nginx
annotations:
ingress.kubernetes.io/rewrite-target: /
spec:
rules:
- host: test1.mydomain.com
http:
paths:
- path: /
backend:
serviceName: my-service
servicePort: 80
答案 0 :(得分:0)
yaml与位于here的重写示例略有不同。 yaml是有效的,kubectl apply或create应该有效但不能产生你期望的结果。您是否需要重写注释,或者您是否可以将其删除,后端服务会毫无问题地响应?如果您不需要重写任何内容,请尝试删除yaml,如下所示:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: ingress-nginx
spec:
rules:
- host: test1.mydomain.com
http:
paths:
- backend:
serviceName: my-service
servicePort: 80