繁体   English   中英

具有 ALB 入口的多项服务

[英]Multiple services with ALB ingress

我已经使用 Fargate 创建了 EKS 集群。 我部署了两个微服务。 入口和两个独立的应用程序负载平衡器一切正常。 我正在尝试使用一个 alb 创建入口,它将流量路由到服务。 潜在的问题是这两个服务使用相同的端口 (8080)。 如何为这个问题创建入口? 我在 53 号公路上也有一个注册域名。

我相信您可以使用ALB Ingress Controller完成此操作。

您可以为在 EKS 中运行的服务使用通用 ALB,即使它们使用相同的端口; 您可以根据路径将其与 ALB 上的不同侦听器规则相关联。

如果您使用的是入口控制器,则可以将入口配置为处理这些不同侦听器规则的创建。

例如。 如果您使用的是 aws alb 入口控制器,则可以拥有一个通用 alb,然后使用注释创建入口:

alb.ingress.kubernetes.io/group.name: my-group

该组的所有入口部分都将在与该组关联的同一 alb 下。

结帐 - userguide-alb-ingress了解更多信息

两种服务具有相同的端口并不重要。 这只是如何向他们发送流量,他们有不同的 Ips

下面的入口与 EKS 和 Fargate 完美配合

唯一的问题是它将流量转移到第二个服务而不是服务的根目录(它将“/executor”的后缀添加到第二个服务的路径)

>apiVersion: networking.k8s.io/v1
>kind: Ingress
>metadata:
>    name: ingress-airdqa
>    labels:
>        app: air_dqa
>        chart: {{ .Chart.Name }}-{{ .Chart.Version }}
>        release: {{ .Release.Name }}
>        heritage: {{ .Release.Service }}
>        app.kubernetes.io/name: external-dns
>    annotations:
>        alb.ingress.kubernetes.io/target-type: ip
>        alb.ingress.kubernetes.io/scheme: internet-facing
>        alb.ingress.kubernetes.io/healthcheck-path: /healthz
>        alb.ingress.kubernetes.io/healthcheck-interval-seconds: '300'
>        alb.ingress.kubernetes.io/rewrite-target: /
>
>spec: 
>    rules:
>      - http:
>            paths:
>            - path: /
>              pathType: Prefix
>              backend:
>                  service:
>                      name: service-dqa-django
>                      port:
>                          number: 80
>            - path: "/executor"
>              pathType: Prefix
>              backend:
>                  service:
>                      name: service-dqa-executor
>                      port:
>                          number: 80

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM