kubernetes nginx控制器路由故障排除

时间:2017-11-30 19:06:20

标签: kubernetes

我无法让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

1 个答案:

答案 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