nodeport、port、targetport、contianierport的区别
相信大家在刚开始学习的时候,一定会对如下几个端口nodeport、port、targetport、contianierport比较模糊,以下将对这些端口进行说明
nodeport
nodeport是外部访问集群中某个服务的端口号,只有服务被公布出去,才会有该端口号,外部通过访问nodeip:nodeport去访问该服务
port
port是集群内部访问某个服务时需要使用的,如果没有服务,则是没有该port的,该port对应着服务的端口号,内部容器通过访问serviceip:port去访问该服务
targetport
targetport是服务集群中提供服务的pod所开放的端口号,该端口一定要与镜像的Dockerfile文件EXPOSE的端口一致
因为容器是运行在pod上的,而容器镜像中EXPOSE的端口是容器所在操作系统上的端口,即pod的端口,如图所示:
containerport
containerport是容器内部开放的端口,其在容器上,用于被pod绑定,会与targetport进行映射
这里借用网络上的一张图片: