k8s端口区分

k8s端口区分

k8s是docker的编排工具,在原有的docker基础上,增加了pod概念,pod相当于一个虚拟机或者真机,pod内部的容器之间,可以直接使用localhost来访问。封装:docker→pod→node。加上相同的pod通过选择器,可以构成service,又形成的集群ip。总而言之,部署在docker内部的容器已经经过层层的封装,暴露的端口或者ip,对内可以访问,对外不可访问。

学习的时候,要区分,内部访问,跟外部访问。

  • 内部访问,使用service (或者Cluster IP)+ port访问,能达到负载均衡的效果。
  • 外部访问,使用 node ip + node port访问,没有负载均衡。但是如果访问该节点,那么内部如果使用Service,又能实现负载均衡。

相关文章

概念区分

几种ip概念跟port概念

ip 端口 访问
集群 Cluster IP port(Service) 内部访问
pod pod的ip targetPort
物理节点 node ip nodePort 外部访问

思考:端口好像还少一个,pod、容器是公用端口的吗?

对内,如果以服务名访问,是自动均衡负载,那么是如何实现的?能否进行流量控制?

对外,如果需要提供服务,以node的endpoint访问,如何实现均衡负载?要通过nginx反向代理到内服?以达到负载均衡?

配置文件中,一般多配置port,很少去配置ip。