服务API定义的服务允许3/4层负载平衡的基本级别。
如果要在同一IP地址下公开多个服务,并且这些服务都使用相同的L7协议(通常是HTTP),则Ingress最有用。
如果入口控制器将请求路由到服务本身,并且服务允许对Pod进行基本级别的Layer3 / 4循环负载均衡,那么第7层负载均衡在哪里?只是路由的第7层而不是负载平衡,对吧?
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/rewrite-target: /
name: web-ingress
spec:
rules:
- host: kubernetes.foo.bar
http:
paths:
- backend:
serviceName: appsvc
servicePort: 80
path: /app
答案 0 :(得分:1)
Ingress的主要工作是L7路由。后端服务执行实际的pod级别的负载平衡。但是某些Ingress控制器会通过一些负载均衡策略设置进行引导,例如负载均衡算法,后端权重方案,速率限制等。
https://kubernetes.io/docs/concepts/services-networking/ingress/#loadbalancing
在这里查看Traefik支持的功能,而不仅仅是L7路由:
https://docs.traefik.io/v1.7/configuration/backends/kubernetes/#general-annotations