作者:路多辛 2023-02-27 07:56:55
云计算
云原生 Ingress相当于service的service,可以将外部请求通过按照不同规则转发到对应的service。实际上,ingress相当于一个7层的负载均衡器,是k8s对反向代理的一个抽象,大概的工作原理类似于Nginx。
Kubernetes向进群外暴露服务的方式有三种:Ingress、LoadBlancer类型的Service、NodePort类型的Service。
Ingress相当于service的service,可以将外部请求通过按照不同规则转发到对应的service。实际上,ingress相当于一个7层的负载均衡器,是k8s对反向代理的一个抽象,大概的工作原理类似于Nginx。
Ingress工作原理(以Nginx Ingress为例):
Ingress-controller通过和Kubernetes APIServer交互,动态感知集群中Ingress规则的变化,感知到规则的变化后生成对应的Nginx配置,将配置写到nginx-ingress-controller的pod里(ingress-controller的pod里运行着一个Nginx服务,ingress-controller会把生成的 nginx配置写入/etc/nginx.conf文件中),然后执行reload使配置生效。
创建service时,指定type类型为LoadBalancer,需要有外部负载均衡器的支持,绝大部分云厂商都支持创建外部负载均衡。
创建service时,指定type类型为NodePort,这样,服务就会暴露在集群节点ip的指定端口上。
NodePort方式有如下缺点:
LoadBlancer方式有如下缺点:
Ingress相比上面两种方式,只需要一个NodePort或者一个LoadBlancer就可以满足所有service对集群外暴露服务的需求,简单灵活。
文章标题:Kubernetes向集群外部暴露服务的方式,你知道吗?
文章URL:http://www.shufengxianlan.com/qtweb/news6/388656.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联