You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

裸金属环境下如何将Istio Ingress Gateway绑定80/443端口

裸金属无托管负载均衡场景下Istio Gateway流量接入方案

核心问题结论

裸金属无外部负载均衡的场景下,使用HAProxy转发流量到Istio Ingress Gateway是完全合理且常用的方案;单节点场景下也可以通过调整Istio Ingress Gateway的暴露方式直接占用宿主机80/443端口,不需要额外的转发层。

此前MetalLB部署失败原因说明

你在Hetzner单节点专用服务器上配置MetalLB失败,并不是MetalLB不适配该场景,而是配置逻辑错误:MetalLB的二层广播模式要求分配的外部IP未被宿主机主网卡占用,你直接绑定宿主机已在用的公网IP自然无法生效,单节点场景也完全不需要引入MetalLB组件。

可选落地方案

方案1:Istio Ingress直接监听宿主机80/443端口(单节点场景最优)

不需要额外转发组件,链路最简洁,无SSL兼容性问题:

  • 将Istio Ingress Gateway的部署配置改为HostNetwork模式,直接共享宿主机网络命名空间,即可直接监听宿主机公网网卡的80、443端口,不需要端口映射
  • 若不想使用HostNetwork,也可以将Istio Ingress Gateway的Service改为NodePort类型,手动指定80、443为固定NodePort,操作前需先调整kube-apiserver的启动参数--service-node-port-range,将80、443加入允许的端口范围(默认范围为30000-32767,这也是你之前拿到31701动态端口的原因)
  • 上述两种方案都可以直接将cert-manager签发的SSL证书配置在Istio Gateway资源上,SSL卸载完全由Istio处理,没有中间层兼容性问题

方案2:保留HAProxy转发架构(适合多节点扩展场景)

你当前HAProxy无法处理cert-manager SSL流量的问题,是配置逻辑错误导致的,调整后即可正常使用:

  • 将HAProxy的监听模式改为TCP透传模式,不要在HAProxy层做SSL卸载,直接把公网80、443端口的流量转发到Istio Ingress Gateway的NodePort端口
  • SSL卸载完全交给Istio Gateway处理,即可完美兼容cert-manager签发的所有证书
  • 后续集群扩展为多节点时,可以直接在HAProxy后端添加所有集群节点的Istio Ingress Gateway NodePort作为后端,自行实现负载均衡能力,扩展性更强

内容的提问来源于stack exchange,提问作者2Fast2BCn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 18:06:05