k8s的nodeport和ingress
1.流量转发图
targerport转发到实际的容器端口containerPort(后端端口)
nodeport
ingress
2.配置场景总结
字段 | 作用对象 | 必填 | 示例值 | 何时配置 |
---|---|---|---|---|
containerPort | 容器 | 否 | 80 | 需明确记录容器端口时(推荐) |
targetPort | Pod | 是 | 80 | 定义 Service 转发规则时 |
port | Service | 是 | 80 | 定义 Service 的集群内访问端口时 |
nodePort/Ingress | Node | 否 | 30080 | 需从外部通过节点 IP 访问服务时 |
3. 核心定位对比
特性 | NodePort | Ingress |
---|---|---|
设计目的 | 通过节点端口暴露服务(四层转发) | 作为七层流量网关(支持HTTP/HTTPS路由) |
适用协议 | TCP/UDP | HTTP/HTTPS(部分实现支持TCP/UDP) |
生产推荐度 | 仅限测试环境 | 生产环境标准方案 |
4. 关键能力差异
能力 | NodePort | Ingress |
---|---|---|
多服务路由 | ❌ 一个端口对应一个Service | ✅ 基于域名/路径路由多个服务 |
TLS终止 | ❌ 需在Pod内处理 | ✅ 支持集中式证书管理 |
负载均衡 | ✅ 基础负载均衡 | ✅ 高级LB算法(如轮询/一致性哈希) |
外部依赖 | ❌ 无需额外组件 | ✅ 需安装Ingress Controller |
端口范围 | 30000-32767 | 标准80/443 |