使用ALB入口控制器的基于路径的路由

时间:2020-03-11 04:51:20

标签: amazon-web-services kubernetes kubernetes-ingress amazon-eks aws-alb

我正在为10个微服务使用ALB入口控制器。

但是基于路径的路由不起作用。每次Ingress都会为每个服务创建一个新的负载均衡器。

我的要求是只有一个负载均衡器,然后使用基于路径的路由浏览到不同的服务。

请让我知道我缺少哪些注释以及如何实现此目的?

此处附有我当前正在使用的示例入口:

apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: abcd
  namespace: "default"
  annotations:
     kubernetes.io/ingress.class: "alb"
     alb.ingress.kubernetes.io/certificate-arn: arn:aws:acmxxxxx
     alb.ingress.kubernetes.io/listen-ports:
     alb.ingress.kubernetes.io/scheme: internal
     alb.ingress.kubernetes.io/subnets: subnet-1,subnet-2
     alb.ingress.kubernetes.io/security-groups: sg-1
spec:
  rules:
    - host:    abcd.com
      http:
        paths:
          - path: /def
            backend:
              serviceName: abcd
              servicePort: 80

1 个答案:

答案 0 :(得分:0)

根据https://github.com/kubernetes-sigs/aws-alb-ingress-controller/issues/298

唯一可行的解​​决方案是ingress merge

aws blog中有示例代码

我曾经使用过它们,并且有时通过Ingress-merge创建额外的alb,但是它可以工作,但是您可以手动将其删除。