【问题标题】:Multiple services with ALB ingress具有 ALB 入口的多项服务
【发布时间】:2022-12-22 04:46:07
【问题描述】:
我已经使用 Fargate 创建了 EKS 集群。我部署了两个微服务。入口和两个独立的应用程序负载平衡器一切正常。我正在尝试使用一个 alb 创建入口,它将流量路由到服务。潜在的问题是这两个服务使用相同的端口 (8080)。如何为这个问题创建入口?我在 53 号公路上也有一个注册域名。
【问题讨论】:
标签:
amazon-web-services
kubernetes
kubernetes-ingress
amazon-eks
aws-application-load-balancer
【解决方案2】:
您可以为在 EKS 中运行的服务使用一个通用的 ALB,即使它们使用相同的端口也是如此;您可以根据路径将其与 ALB 上的不同侦听器规则相关联。
如果您使用的是入口控制器,则可以将入口配置为处理这些不同侦听器规则的创建。
例如。如果您使用的是 aws alb 入口控制器,您可以拥有一个通用的 alb,然后使用注释创建入口:
alb.ingress.kubernetes.io/group.name: my-group
该组的所有入口部分都将在与该组关联的相同白名单下。
结账 -userguide-alb-ingress 了解更多信息
【解决方案3】:
两种服务具有相同的端口并不重要。
这只是如何向他们发送流量,他们有不同的 Ips
下面的入口与 EKS 和 Fargate 完美配合
唯一的问题是它将流量转移到第二个服务而不是服务的根目录(它将“/executor”的后缀添加到第二个服务的路径)
api版本:networking.k8s.io/v1
种类:入口
元数据:
名称:ingress-airdqa
标签:
应用程序:air_dqa
图表:{{ .Chart.Name }}-{{ .Chart.Version }}
发布:{{ .Release.Name }}
遗产:{{.Release.Service}}
app.kubernetes.io/名称:external-dns
注释:
alb.ingress.kubernetes.io/目标类型:ip
alb.ingress.kubernetes.io/scheme:面向互联网
alb.ingress.kubernetes.io/healthcheck-路径:/healthz
alb.ingress.kubernetes.io/healthcheck-interval-seconds: '300'
alb.ingress.kubernetes.io/重写目标:/
规格:
规则:
- HTTP:
路径:
- 小路: /
路径类型:前缀
后端:
服务:
名称:服务-dqa-django
港口:
数量:80
- 路径:“/执行者”
路径类型:前缀
后端:
服务:
名称:服务-dqa-执行器
港口:
数量:80