HAproxy作为入口控制器

时间:2020-01-29 01:24:46

标签: kubernetes google-cloud-platform haproxy eks haproxy-ingress

HAproxy入口控制器能够实现哪种负载平衡。 它可以在Pod级别进行负载平衡吗?还是在节点级别的负载平衡上完成。

谢谢 亚尼夫

2 个答案:

答案 0 :(得分:1)

入口可提供负载平衡,基于名称的虚拟主机,SSL / TLS终止。是的,它将对服务(由pod支持)进行负载平衡。这是示例Ingress kubernetes对象清单文件。

Example:

 apiVersion: networking.k8s.io/v1beta1
 kind: Ingress
 metadata:
     name: sample-ingress
     annotations:
        nginx.ingress.kubernetes.io/rewrite-target: /
 spec:
     rules:
     - host: foo.bar.com
       http:
          paths:
          - path: /foo
            backend:
                serviceName: service1 ( Backed by service1 pod )
                servicePort: 4200
          - path: /bar
            backend:
                serviceName: service2  ( Backed by service2 pod )
                servicePort: 8080

答案 1 :(得分:1)

official documentation中所述:

入口控制器使您能够:

  • 仅使用一个IP地址和端口,并根据Host标头和请求路径将请求定向到正确的Pod

  • 使用内置的SSL终端进行安全通信

  • 为客户端应用速率限制,同时可以选择将IP地址列入白名单

  • 从任何HAProxy的负载平衡算法中选择

  • 通过HAProxy Stats页面和Prometheus指标获得出色的第7层可观察性

  • 设置与后端服务器的最大连接限制,以防止服务超载

我还建议以下资源:

L7路由是Ingress的核心功能之一,它允许传入 请求被路由到可以根据以下内容为他们提供服务的确切广告连播 HTTP特征,例如请求的URL路径。其它功能 包括终止TLS,使用多个域,并且大多数 重要的是,负载均衡流量。

我希望它会有所帮助。