k8s中Port、NodePort、TargetPort概念的区分

2 篇文章 0 订阅

1:三个类型端口所应用位置的不同

Port是Service的的端口
TargetPort是Service映射pod的容器的端口(containerPort)
NodePort是容器所在宿主机的端口(实质上也是通过service暴露给了宿主机,而port却没有)

2:在作用上

port
的主要作用是集群内其他pod访问本pod的时候,需要的一个port,如nginx的pod访问mysql的pod,那么mysql的pod的service可以如下定义,由此可以这样理解,port是service的port,nginx访问service的33306

apiVersion: v1
kind: Service
metadata:
name: mysql-service
spec:
ports:

port: 33306
targetPort: 3306
selector:
name: mysql-pod
targetport
同样的,看上面的targetport,targetport说过是pod暴露出来的port端口,当nginx的一个请求到达service的33306端口时,service就会将此请求根据selector中的name,将请求转发到mysql-pod这个pod的3306端口上

nodeport
nodeport就很好理解了,它是集群外的客户访问,集群内的服务时,所访问的port,比如客户访问下面的集群中的nginx,就是这样的方式,ip:30001

apiVersion: v1
kind: Service
metadata:
name: nginx-service
spec:
type: NodePort // 有配置NodePort,外部流量可访问k8s中的服务
ports:

  • port: 30080 // 服务访问端口
    targetPort: 80 // 容器端口
    nodePort: 30001 // NodePort
    selector: name: nginx-pod

3:总结一下

nodeport是集群外流量访问集群内服务的端口类型,比如客户访问nginx,apache,并且k8s中nodePort的有效取值范围是30000-32767(由–service-node-port-range参数指定)。而port是集群内的pod互相通信用的端口类型,比如nginx访问mysql,而mysql是不需要让客户访问到的。最后targetport,顾名思义,目标端口,也就是最终端口,也就是pod的端口。

原链接:https://blog.51cto.com/11093860/2336934

链接:https://www.jianshu.com/p/7ba593c1bfb3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zxllstar

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值