k8s上 port targetport nodeport的区别

Kubernetes(K8s)是一个广泛使用的容器编排系统,用于自动化容器化应用程序的部署、扩展和管理。在Kubernetes中,服务(Service)是一个抽象概念,它定义了一种访问容器集合的方式,其中包括了几个关键的网络概念:Port、TargetPort和NodePort。这些概念是Kubernetes网络中的基石,理解它们之间的区别对于有效地使用Kubernetes至关重要。

Port

Port是指在Kubernetes服务中定义的端口,它是服务暴露给外部网络的端口。当其他服务或应用程序想要访问该服务时,它们会通过这个Port进行通信。这个端口是虚拟的,存在于Kubernetes的服务层面,用于内部服务间的通信或者从外部访问集群内服务。

TargetPort

TargetPort是容器监听的端口,是服务后端Pod中的应用程序实际监听的端口。当流量通过服务的Port到达时,Kubernetes将流量转发到后端Pod的TargetPort。这允许你在Pod内运行的应用监听任何你选择的端口,而不需要和服务的Port相同。这种设计提供了灵活性,允许开发者在不影响服务访问的情况下,更改Pod内部的应用配置。

NodePort

NodePort是一种将服务暴露给外部网络的方法,它在集群的所有节点上打开一个静态端口(NodePort),然后将该端口的流量转发到对应服务的Port。NodePort的范围通常是从30000到32767。当你创建一个类型为NodePort的服务时,客户端可以通过<NodeIP>:<NodePort>访问服务,其中<NodeIP>可以是集群内任意节点的IP地址。NodePort服务通常用于开发和测试环境,或者在没有负载均衡器的情况下的生产环境。

区别总结

  • Port 是服务内部的端口,用于服务之间的通信或者从外部访问服务。
  • TargetPort 是Pod内部的端口,是实际应用程序监听的端口。
  • NodePort 是集群外部访问服务的一种方式,通过在所有节点上开放一个端口来实现。

在Kubernetes (K8s) 中,porttargetPortNodePort 是配置服务访问和路由规则时的关键概念。port 指的是服务在集群内部的暴露端口,允许集群内的其他服务或Pod通过此端口与之通信。targetPort 是Pod内部容器监听的端口,服务转发到Pod的流量将被发送到这个端口。NodePort 则是一种特殊类型的服务端口,它在集群的每个节点上打开一个特定端口,使得外部客户端可以通过任何节点的IP地址加上这个端口号来访问服务。这三种端口类型的组合使用,为Kubernetes中的服务通信和外部访问提供了灵活的配置选项。更多详情和实用建议,请查阅完整文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值