入口控制器第7层负载平衡

时间:2020-01-12 07:54:14

标签: kubernetes load-balancing kubernetes-ingress

服务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

1 个答案:

答案 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