非标准端口上的 haproxy-ingress 负载平衡 http
haproxy-ingress load balance http on non standard port
我需要在 pod 中抓取 Prometheus 导出器 运行。它在端口 9098 上运行,导出器工作正常,我可以从 运行 所在的主机手动 抓取 它。问题在于入口。我正在尝试让入口允许在端口 9098(它是 http 和 TCP)上进行外部抓取。这是我的入口 yaml。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/balance-algorithm: roundrobin
ingress.kubernetes.io/maxconn-server: "10"
ingress.kubernetes.io/ssl-redirect: "false"
name: ingress-ecobee-exporter
namespace: monitoring
spec:
rules:
- host: mysupercool.domain.name
http:
paths:
- path: /
backend:
serviceName: ecobee-exporter-service
servicePort: 9098
我已指定端口 9098 在我的 haproxy-ingress.yaml 的 containers/ports 部分工作。我可以在 haproxy 统计页面中看到“负载均衡器”,但主机从不监听端口 9098 以重定向流量。
谢谢,
肖恩
HAProxy Ingress 使用 ingress objects 在 bind
配置的端口中公开 http 服务;医生 here。配置的servicePort
有内部服务的端口名或者端口号,在haproxy的监听端口中没有体现。如果使用 https,这里使用 TLS 的 sni 扩展来选择一个证书来启动握手。 http Host
header 用于选择入口的主机名。也就是说,您可能应该使用 http://mysupercool.domain.name
连接到导出器 - 前提是该域解析为您的入口,并且这是该域中唯一匹配 /
的路径。
另一方面,tcp-service
在任意端口号上公开任何基于 tcp 的服务,包括 http/s。没有 sni 或 Host
header 读数 - 这是一个普通的 L4 TCP 代理。这里应该特别小心:如果端口号被重用,haproxy 不会抱怨。在这种情况下,内核将在每个冲突端口之间对新请求进行负载平衡。
我需要在 pod 中抓取 Prometheus 导出器 运行。它在端口 9098 上运行,导出器工作正常,我可以从 运行 所在的主机手动 抓取 它。问题在于入口。我正在尝试让入口允许在端口 9098(它是 http 和 TCP)上进行外部抓取。这是我的入口 yaml。
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
ingress.kubernetes.io/balance-algorithm: roundrobin
ingress.kubernetes.io/maxconn-server: "10"
ingress.kubernetes.io/ssl-redirect: "false"
name: ingress-ecobee-exporter
namespace: monitoring
spec:
rules:
- host: mysupercool.domain.name
http:
paths:
- path: /
backend:
serviceName: ecobee-exporter-service
servicePort: 9098
我已指定端口 9098 在我的 haproxy-ingress.yaml 的 containers/ports 部分工作。我可以在 haproxy 统计页面中看到“负载均衡器”,但主机从不监听端口 9098 以重定向流量。
谢谢, 肖恩
HAProxy Ingress 使用 ingress objects 在 bind
配置的端口中公开 http 服务;医生 here。配置的servicePort
有内部服务的端口名或者端口号,在haproxy的监听端口中没有体现。如果使用 https,这里使用 TLS 的 sni 扩展来选择一个证书来启动握手。 http Host
header 用于选择入口的主机名。也就是说,您可能应该使用 http://mysupercool.domain.name
连接到导出器 - 前提是该域解析为您的入口,并且这是该域中唯一匹配 /
的路径。
tcp-service
在任意端口号上公开任何基于 tcp 的服务,包括 http/s。没有 sni 或 Host
header 读数 - 这是一个普通的 L4 TCP 代理。这里应该特别小心:如果端口号被重用,haproxy 不会抱怨。在这种情况下,内核将在每个冲突端口之间对新请求进行负载平衡。