kubernetes中各类port辨析

相信大家在进行k8s初学时,遇到了各种各样的port。笔者在学习过程中也是经常将各种port弄混。

下面我针对k8s中常见的几种端口进行了一下梳理:

一、port(针对集群内部)

port是service的端口,即k8s中服务之间的访问端口,通过clusterIP: port可以访问到某个service。

主要作用是集群内其他pod访问本pod的时候,需要的一个port。如nginx的pod访问mysql的pod,那么mysql的pod的service可以如下定义:


apiVersion: v1
kind: Service
metadata:
  name: mysql-service
spec:
  ports:
  - port: 33306
    targetPort: 3306
  selector:
   name: mysql-pod

可以理解为,port是service的port,nginx访问service的3306端口。

二、targetport(pod暴露的端口)

targetport是pod中容器的端口。

targetport是pod暴露出来的端口,当nginx的一个请求到达service的33306端口时,service就会根据selector中的name,把此请求转发到mysql-pod这个pod的3306端口上。

三、nodeport(集群外部访问端口)

nodeport是容器所在宿主机的端口(实质上也是通过service暴露给了宿主机,而port却没有)

四、 containerPort(container端口)

containerPort是pod内部容器的端口,targetPort映射到containerPort。

==============================================================

参考图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值