💡 有理想,|

little小新

园龄:2年6个月粉丝:8关注:0

2024-07-01 00:16阅读: 22评论: 0推荐: 0

35、k8s-Ingress介绍-类似于service的一种类型、比service强大

前面提到:service对集群之外暴露服务的蛀牙方式有两种:NodePort和LoadBalancer、但是这两种方式都有一定的缺点:
·NodePort方式缺点是会占用很多集群机器的端口、那么当集群服务变多的时候、这个缺点就越发明显
·LB方式的缺点是每个service需要一个LB,浪费、麻烦、并且需要kubernetes之外的设备支持
基于这种现状、kubernetes提供了Ingress资源对象、Ingress只需要一个NodePort或者一个LB就可以暴露多个service的需求、工作机制大致如下图:

实际上、Ingress相当于一个7层的负载均衡器、是kuberbetes对反向代理的一个抽象、它的工作原理类似于nginx、可以理解成
在Ingress里建立诸多映射规则、Ingrss Controller通过监听这些配置规则并转化成Nginx的反向代理配置、然后对外部提供服务。
这里有两个核心的概念:
·Ingress:kubernetes种的一个对象、 作用是定义请求如何转发到service的规则
·ingress controller:具体实现方向代理机负载均衡的程序、对ingress定义的规则进行解析、根据配置的规则来实现请求的转发、实现的方式有
··nginx
··Contour
··Haproxy
ingress(以nginx为例)的工作原理:
·用户编写ingress规则、说明哪个域名对应kubernetes集群中的哪个service
·ingress控制器动态感知ingress服务规则的变化、然后生成一段对应的nginx反向代理配置
·ingress控制器会将生成的nginx配置写入到一个运行着的nginx服务中、并动态更新
·到此为止、其实真正在工作的就是一个nginx了、内部配置了用户定义的请求转发规则

本文作者:little小新

本文链接:https://www.cnblogs.com/littlecc/p/17683349.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   little小新  阅读(22)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起