当前位置: 首页 > news >正文

K8S中nodePort、port和 targetPort的区别

在Kubernetes Service的配置中,nodePortport和 targetPort承担着不同的网络流量转发角色。简单来说:

  • port:Service在集群内部的访问端口,其他服务通过<ClusterIP>:<port>访问该Service。

  • targetPort:Service将流量转发到的Pod上的实际端口,必须与Pod内容器监听的端口一致。

  • nodePort:在集群每个节点上开放的端口,允许外部客户端通过<任意节点IP>:<nodePort>访问Service。

下面这个表格更清晰地展示了它们的区别:

端口类型

作用层级

主要用途

访问方式示例

是否必选

port

Service 集群内部虚拟IP

集群内服务间通信

10.96.123.456:80(ClusterIP:port)

targetPort

Pod/容器

指定流量最终到达容器的端口

由Service自动转发,通常不直接访问

否,默认与port相同

nodePort

集群节点(Node)

从集群外部访问服务

http://<节点IP>:32556

否,仅NodePort/LoadBalancer类型需要

端口协作流程

当有一个外部请求到来时,这些端口会按照一条清晰的路径协作,最终将流量送达正确的容器:

外部请求 → nodePort(节点IP上的端口) → port(Service的端口) → targetPort(Pod内容器的端口)

例如,service配置(nodePort: 32556port: 13000targetPort: 13000):

  • 外部用户通过浏览器访问 http://<任意节点IP>:32556

  • 该节点的kube-proxy接收到请求,并根据Service规则将其转发到Service的ClusterIP上的13000端口。

  • Service的负载均衡机制将请求路由到某个健康Pod的13000端口,最终被Pod内运行的应用程序处理。

配置要点与示例

  1. targetPort的灵活性targetPort可以是数字,也可以是Pod定义中命名的端口,这增加了配置的灵活性和可读性。例如,在Pod模板中,您可以定义 name: http,然后在Service中设置 targetPort: http

  2. 端口映射无需一致:这三个端口的编号不需要相同。一个常见的场景是,让Service在80端口(port: 80)对外提供HTTP服务,而实际的应用容器在8080端口(targetPort: 8080)进行监听。

  3. containerPort的角色:在Pod的YAML定义中,还有一个containerPort字段。它主要用于声明容器会监听哪个端口,起​ informational(告知性)作用。即使不设置,只要容器进程确实在该端口监听,Service也能将流量转发过去。通常建议设置,以明确容器的网络契约。

注意事项

  • nodePort端口范围:如果您不显式指定nodePort,Kubernetes会在30000-32767范围内自动分配一个。如果您需要指定,则必须在此范围内。

  • 生产环境考虑:虽然NodePort类型很方便,但对于高可用的生产环境,通常建议使用更高级的入口方式,如Ingress,它能提供基于域名和路径的路由、SSL终止等更强大的功能。

http://www.dtcms.com/a/611208.html

相关文章:

  • Java/Android中BigDecimal的相关操作
  • 珠海网站建设服务哪个网站做视频有钱
  • 网站开发新闻管理系统的背景设计之家素材
  • PS2模拟器安卓版合集 PSX2、ARMSX2、MYPS2、NetherSX2、 PCSX2汉化中文版
  • 建设工程项目管理网站中心网站建设方法
  • 注意点:挂载与插硬盘,容器挂载实现持久化存储
  • 解决Ubuntu TTY终端中文乱码问题
  • 北京美容网站建设中国进入一级战备有多可怕?
  • 郑州市建设投资集团公司网站深圳罗湖住房和建设局网站
  • 网站建设好与管理在哪就业设计办公室设计公司
  • 泛型擦除的作用
  • 长治门户网站租服务器网站
  • 大连网站排名优化价格怎样做网贷网站
  • AAAI 2026 Oral 之江实验室等提出MoEGCL:在6大基准数据集上刷新SOTA,聚类准确率最高提升超8%!
  • 当当网的网站建设要求北京学校网站建设公司
  • 【Vue3】 中的 【unref】:详解与使用
  • 衡阳做淘宝网站建设wordpress 营销页面
  • BdsEntry
  • 网站备案后 如何建设tp框架做餐饮网站
  • 自动化 东莞网站建设如何提高用户和网站的互动性
  • Linux网络编程:(八)GCC/G++ 编译器完全指南:从编译原理到实战优化,手把手教你玩转 C/C++ 编译
  • 网站负责人拍照集团公司网站设计
  • 重钢建设公司官方网站电脑访问手机网站跳转
  • AI赋能多模态情绪识别
  • vue3 使用v-model开发弹窗组件
  • 淘宝网站建设的目标是什么石家庄网络营销哪家好做
  • vue3开发使用框架推荐
  • 郑州网站建设方案国内购物网站大全
  • Qt界面布局管理详解
  • RK3506 eMMC 固件重启崩溃问题(USB 触发)技术总结