我要刮一个普罗米修斯的出口商在豆荚里跑。它运行在端口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在我的have inress.yaml的容器/端口部分工作。我可以在haproxy stats页面中看到“负载均衡器”,但是主机从不监听端口9098来重定向流量。
谢了,肖恩
发布于 2020-06-17 17:52:42
HAProxy宏使用Ingress对象在bind配置的端口中公开http服务;文档这里。配置的servicePort具有内部服务的端口名或端口号,这并不反映在has的侦听端口中。这里使用TLS的sni扩展来选择一个证书来启动握手(如果使用https )。http Host头用于选择入口的主机名。尽管如此,您可能应该使用http://mysupercool.domain.name连接到导出程序,前提是该域解析为您的入口,并且这是该域中唯一匹配/的路径。
另一方面,tcp-service在任意端口号上公开任何基于tcp的服务(包括http/s )。没有sni或Host头读取-这是一个普通的L4 TCP代理。这里应该特别注意:如果重新使用端口号,haproxy不会抱怨。在这种情况下,内核将在每个冲突端口之间加载平衡新请求。
https://stackoverflow.com/questions/62396177
复制相似问题