nginx ingress同一主机多个后端



我有一个服务,我不想使用自动缩放,所以我创建了一个副本,现在我想让它背后的内部LB使用nginx入口,其中一个将始终是活跃的,另一个将是被动的,可以通过探针状态,入口如下

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: appcj-ingress
spec:  
ingressClassName: nginx
rules:
- host: "{{ .Values.ingress.appcjudomain }}"
http:
paths:
- pathType: Prefix
path: "/"
backend:
service:
name: {{ .Values.Name }}-appcjuengineprihttp
port:
number: 81
service:
name: {{ .Values.Name }}-appcjuenginesechttp
port:
number: 81

这更像是一个传统的负载均衡器,就像在一个负载均衡器后面有多个服务器,在同一个主机上有多个后端服务,这是可能的吗?

Kubernetes Ingress不允许你这样做。

必须通过主机或路径进行区分。

你唯一能做的就是实现这样一个结构:https://kubernetes.io/docs/concepts/services-networking/ingress/#simple-fanout

看看这里:如何将多个服务映射到一个Kubernetes入口路径?

否则考虑用7级负载均衡器替换Ingress Kubernetes。