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

关于K8s Manifest中targetPort关联端口的技术问询

Kubernetes Manifest中targetPort使用端口名称的解析

在你给出的Service配置片段里,targetPort: web和targetPort: websecure并不是直接对应某个固定端口号,而是指向Pod容器定义中同名的端口配置,具体逻辑如下:

核心对应关系

Service的targetPort填写字符串名称时,Kubernetes会自动匹配Pod容器内定义了相同name的端口,最终将流量转发到该端口对应的containerPort数值。

具体到你的配置

  1. 对于name: web的Service端口:

    • targetPort: web表示将Service的80端口(port:80)接收的流量,转发到Pod容器里标记了name: web的那个端口上。
    • 对应的Pod/Deployment的容器配置中,应该有类似这样的定义:
      containers:
        - name: your-app
          image: your-app-image
          ports:
            - name: web  # 名称与Service的targetPort完全一致
              containerPort: 8080  # 这就是实际的容器内端口号,流量最终到这里
      
  2. 对于name: websecure的Service端口:

    • targetPort: websecure同理,会将Service的443端口(port:443)流量转发到Pod容器里name: websecure对应的containerPort数值(比如8443)。

使用端口名称的优势

相比直接写端口号,用名称关联的好处是:如果后续容器内的服务端口需要调整,只需要修改Pod定义里的containerPort,无需改动Service配置,降低了配置耦合度,提升了灵活性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 09:12:05