部署 Ingress 网关

介绍

Ingress 网关部署通过以下方式实现对服务网格资源的安全外部访问:

  • 提供专用的南北流量入口点
  • 支持灵活的暴露方式(LoadBalancer/NodePort)
  • 支持特定协议的监听器配置
  • 将网关组件与控制平面隔离

核心价值:安全且可扩展的入口流量管理

特性

  • 支持多协议监听器(HTTP/HTTPS/TCP)
  • 共享/专用网关部署模式
  • 云服务提供商负载均衡器集成(AWS ELB, MetalLB 等)
  • 针对裸机环境的 NodePort 回退

优势

  • 安全隔离:部署在非控制平面命名空间中
  • 多云就绪:支持主要云负载均衡解决方案
  • 端口灵活性:可自定义服务/节点端口
  • 访问控制:命名空间级别的可见性管理

通过 LoadBalancer 部署网关

步骤 1:启动部署

  1. 导航至:服务网格 > 网关
  2. 选择目标集群
  3. 点击 部署网关
参数要求描述
网关名称必需符合 DNS-1123 规范
命名空间必需非控制平面命名空间
服务类型自动设置LoadBalancer

步骤 2:协议配置

ports:
- protocol: HTTPS 
  port: 443
- protocol: TCP
  port: 3306
参数约束
协议HTTP/HTTPS/TCP
端口范围1-65535

步骤 3:云集成

对于华为云 ELB:

  • 提供 ELB ID 和类型
    对于 MetalLB:
  • 网络管理 > 外部地址池 中验证可用 IP

通过 NodePort 部署网关

步骤 1:配置 NodePort

  1. 服务类型 设置为 NodePort
  2. 定义节点端口:
协议NodePort约束
HTTP30080集群范围唯一
HTTPS30443不冲突

步骤 2:外部代理设置

推荐架构:

客户 → F5/HAProxy → NodeIP:NodePort → Ingress 网关

验证

  1. 访问网关详情页面
  2. 确认状态:运行中
  3. 验证端点连接性:
curl -I http://<EXTERNAL-IP>:<PORT>/healthz

操作注意事项

  • 共享网关对所有集群项目可见
  • 专用网关需要项目隔离
  • TLS 终止需要单独的证书配置
  • 避免与现有服务的端口冲突