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

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