在AWS EKS中,只有'/'可与NGINX入口控制器和ALB一起使用

时间:2019-09-03 17:30:34

标签: amazon-web-services kubernetes nginx-ingress amazon-eks

我创建了一个EKS集群,并部署了带有Application负载均衡器的NGINX入口控制器。我部署了一个示例应用程序,并将其绑定到我的域名。 这是入口文件-

kind: Ingress
metadata:
  name: "2048-ingress"
  annotations:
    kubernetes.io/ingress.class: alb
    alb.ingress.kubernetes.io/scheme: internet-facing
    alb.ingress.kubernetes.io/target-type: ip
  labels:
    app: 2048-ingress
spec:
  rules:
    - host: test.abc.xyz
    - http:
        paths:
          - path: /game
            backend:
              serviceName: "service-2048"
              servicePort: 80

当我在浏览器中打开test.abc.xyz/game时,它返回404,但test.abc.xyz有效。我在这里想念什么吗?我希望test.abc.xyz/game工作,并且test.abc.xyz返回404。

更新- 我正在按照本教程部署应用程序- https://aws.amazon.com/blogs/opensource/kubernetes-ingress-aws-alb-ingress-controller/ 我希望此应用重定向到/ game而不是/

1 个答案:

答案 0 :(得分:1)

您必须在路径部分中定义通配符,如下所示:

spec:
  rules:
    - host: test.abc.xyz
    - http:
        paths:
          - path: /*
            backend:
              serviceName: "service-2048"
              servicePort: 80
   - path: /game/*
            backend:
              serviceName: "service-2048"
              servicePort: 80

不幸的是,文档中的文字写得不好。