nodeport | 容器端口——service端口——nodeport 设定了nodeport,每个节点都会有一个端口被打开(30000-32767) ip+端口:节点ip+30000-32767,实现负载均衡 |
loadbalancer | 云平台上的一种service服务,云平台提供负载均衡ip地址 |
extrenal | 域名映射 |
(1)ingress是一个api对象,通过yaml文件来进行配置 (2)ingress的作用:定义请求如何转发到service的规则,配置模版 (3)ingress通过http和https暴露集群内部的service,给service提供一个外部的url、负载均衡、ssl/tls(https)的能力,实现基于域名的负载均衡 |
ingress-controller ①具体的实现反向代理和负载均衡的程序,对ingress定义的规则进行解析,根据ingress的配置规则进行请求的转发 ②ingress-controller不是k8s自带的组件功能,ingress-controller是一个统称 ③ingress-controller:nginx ingress controller、traefik(开源) ④ingress-controller的运行方式:pod形式运行在节点上 |
缺点:直接利用节点主机的网络和端口,一个node只能部署一个ingress-controller的pod,适合大并发的生产环境 优点:性能最好 |
8181端口:nginx-controller默认配置的一个bachend,反向代理的端口 所有的请求当中,只要是不符合ingress配置的请求会转发到8181,相当于一个error的页面 |
(4)创建PVC、pod、service、ingress规则
deployment+loadbalancer: 需要云平台提供一个负载均衡的公网地址,公有云上配置 |
daemonset+hostnetwork+nodeselector:指定节点部署controller ①缺点:和宿主机共享网络,只能是一个controller的pod,多个端口会造成冲突 ②hostnetwork会和宿主机共享网络 |
deployment+nodeport:最常见、最常用、最简单的方式 ①集中一个nodeport端口,所有的ingress的请求都会转发到nodeport,再由service把流量转发到pod |