【问题标题】:HAproxy as ingress controllerHAproxy 作为入口控制器
【发布时间】:2020-05-14 11:54:06
【问题描述】:

HAproxy 入口控制器能够实现什么样的负载平衡。 它可以在 Pod 级别上进行负载平衡吗?或者它在节点级别的负载平衡上进行。

谢谢 亚尼夫

【问题讨论】:

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


    【解决方案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
    

    【讨论】:

      【解决方案2】:

      official documentation中提到的:

      入口控制器使您能够:

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

      • 使用内置 SSL 终止的安全通信

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

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

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

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

      另外我推荐以下资源:

      L7 路由是 Ingress 的核心功能之一,允许传入 请求被路由到可以根据它们提供服务的确切 pod HTTP 特征,例如请求的 URL 路径。其他特性 包括终止 TLS、使用多个域以及大多数 重要的是,负载平衡流量。

      我希望它有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-08-05
        • 2020-02-24
        • 2021-07-21
        • 2021-08-05
        • 2021-01-14
        • 2021-10-05
        • 2021-10-24
        • 2021-04-17
        相关资源
        最近更新 更多