k8s中的几个port

1. targetPort 容器的端口

容器真正暴露的端口(使用DockerFile中的EXPOSE),targetPort是pod上的端口,从port和nodePort上来的流量,经过kube-proxy流入到后端pod的targetPort上,最后进入容器内。

例如docker.io官方的nginx暴露的是80端口。docker.io官方的nginx容器的DockerFile


2. port

k8s集群内部服务之间相互访问service的端口。

kubernetes中的服务之间访问的端口。有些服务可能不需要被外界访问,比如数据库,尽管mysql容器暴露了3306端口参考mysql的DockerFile,但是集群内其他容器需要通过33306端口访问该服务,外部机器不能访问mysql服务,因为他没有配置NodePort类型。


3. nodePort

k8s集群中发发布完service之后,如果需要外部访问,nodePort是一种访问方式,即nodePort是提供给外部流量访问k8s集群中service使用的端口。

比如一个Web应用需要被其他用户访问,那么需要配置type=NodePort,而且配置nodePort=30001,那么其他机器就可以通过浏览器访问scheme://node:30001访问到该服务,例如http://node:30001

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章