【问题标题】:Path Based routing using ALB ingress controller使用 ALB 入口控制器的基于路径的路由
【发布时间】:2020-03-11 04:51:20
【问题描述】:

我正在为我的 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

【问题讨论】:

  • 去掉 *?规范只是文字路径,但一些控制器允许使用正则表达式。不过,这不是正则表达式。
  • 嗨@coderanger - 我现在更新了我的入口代码,它仍然不起作用。 :(
  • 在 AWS 控制台中查找并查看生成的 ALB 的样子。应该回答你的问题。

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


【解决方案1】:

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

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

aws blog中有示例代码

我已经使用它们并且它可以通过有时 ingress-merge 创建额外的 alb,但您可以手动删除它。

【讨论】:

    猜你喜欢
    • 2021-10-30
    • 2020-11-14
    • 2022-07-21
    • 1970-01-01
    • 2021-12-27
    • 2021-04-26
    • 2020-02-27
    • 2017-06-12
    • 1970-01-01
    相关资源
    最近更新 更多