|NO.Z.00162|——————————|CloudNative|——|KuberNetes&服务发布.V13|——|ingress.v01|架构|
一、Ingress概述:ingress架构

二、ingress架构说明
### --- ingress架构说明
~~~ # 通过service:
~~~ 也可以发布一些服务,通过service的NodePort的方式也可以在外网暴露一些端口,
~~~ 通过IP+端口号的形式也可以实现外网访问,这个端口号也可以代理到k8s内部的服务,
~~~ 也就实现了服务发布的方式。那么我们为什么还需要引入Ingress呢?
~~~ # 在service的前面,加入一个nginx的代理,也可以实现通过域名的方式发布服务,
~~~ # 但是为什么还要引入Ingress呢?
~~~ # NodePort的性能:
~~~ 在service比较多的时候,性能会非常慢,
~~~ 比如说你的k8s上有成百上千的服务,那么是不是要管理成百上千的NodePort,
~~~ 这样去管理它的端口也会特别的痛苦。
~~~ # Ingress在k8s中可以在网络的4层或者层可以实现端口的代理。实现域名发布的方式。
三、传统的架构如何发布服务的
### --- 传统的架构如何发布服务的
~~~ # 先部署一个应用到宿主机,启动这个应用,这个应用会暴露一个端口号,
~~~ 就会通过宿主机加端口号访问到这个服务。
~~~ # 但是在生产环境中,不可能会让用户通过IP地址+端口号访问我们的服务,
~~~ 这样体验非常不好,而且这个IP地址+端口号是非常难记的,而且可能还会发生变更,
~~~ 我们就会在这个端口号前加入nginx,并配置一个域名,这个域名反代到这个宿主机的应用上,
~~~ # 这个域名反代到服务上,是没有办法解析的,
~~~ 所以我们需要通过域名厂商,购买一个域名,
~~~ 通过购买的这个域名就会解析到我们公司的入口nginx或者其他反代上面;比如F5或者LVS等,
~~~ 然后代理到我们的这个nginx,就实现了云发布的方式
四、k8s脚骨如何发布服务的
### --- k8s脚骨如何发布服务的
~~~ # 在使用容器部署应用之后,这个容器时定义了这个应用解析方式的,
~~~ 然后容器一旦启动,它的程序就会启动,程序启动之后,容器就会暴露一个端口号,
~~~ 启动一个进程,这个进程就会监听端口号,
~~~ 然后在通过配置一个service,来代理到我们pod上,通过selector来选择它需要戴丽丽的Pod上面,
~~~ # 配置一个service之后,可以用作service服务之间的访问,比如serviceA访问serviceB;
~~~ 那我们也可以使用Ingress,在service上面在加入一层,它的角色还是nginx,在Ingress上面配置之后,
~~~ 通过Ingress所在的宿主机的IP地址+端口号,
~~~ 把这个域名解析到宿主机上,就可以通过这个域名访问到这个服务了。
~~~ # 我们是在k8s内部,在Ingress上面还有一层:F5 LVS SLB ELB来解析。
~~~ 比如F5去代理到Ingress的80端口上,之后再把购买的域名解析到F5上,解析了这个之后,
~~~ # 再通过自动代理的方式到我们的Ingress,Ingress到service,再到pod,这样就实现了服务发布的方式。
五、使用Ingress的优点
### --- 使用Ingress的优点
~~~ 不用去关系内部的Pod的端口号等操作。不需要去维护我们的service,
~~~ 我们可以吧所有的service都使用一个端口号,可以都是用80 ,
~~~ 因为所有的service都有自己的IP地址,所以都是用80也不会造成服务的冲突。
~~~ 代理到某个service的80端口上,就可以实现访问我们的服务。
六、什么是Ingress
### --- 什么是Ingress
~~~ 通俗来讲,ingress和之前提到的Service、Deployment,
~~~ 也是一个k8s的资源类型,ingress用于实现用域名的方式访问k8s内部应用。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了