【发布时间】:2020-05-14 11:54:06
【问题描述】:
HAproxy 入口控制器能够实现什么样的负载平衡。 它可以在 Pod 级别上进行负载平衡吗?或者它在节点级别的负载平衡上进行。
谢谢 亚尼夫
【问题讨论】:
标签: kubernetes google-cloud-platform haproxy amazon-eks haproxy-ingress
HAproxy 入口控制器能够实现什么样的负载平衡。 它可以在 Pod 级别上进行负载平衡吗?或者它在节点级别的负载平衡上进行。
谢谢 亚尼夫
【问题讨论】:
标签: kubernetes google-cloud-platform haproxy amazon-eks haproxy-ingress
入口提供负载平衡、基于名称的虚拟主机、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
【讨论】:
如official documentation中提到的:
入口控制器使您能够:
仅使用一个 IP 地址和端口,并根据 Host 标头和请求路径将请求定向到正确的 Pod
使用内置 SSL 终止的安全通信
对客户端应用速率限制,同时可选择将 IP 地址列入白名单
从任何 HAProxy 的负载平衡算法中进行选择
通过 HAProxy Stats 页面和 Prometheus 指标获得出色的第 7 层可观察性
设置后端服务器的最大连接限制以防止服务过载
另外我推荐以下资源:
L7 路由是 Ingress 的核心功能之一,允许传入 请求被路由到可以根据它们提供服务的确切 pod HTTP 特征,例如请求的 URL 路径。其他特性 包括终止 TLS、使用多个域以及大多数 重要的是,负载平衡流量。
我希望它有所帮助。
【讨论】: