前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >K8S外部流量相关的服务类型介绍

K8S外部流量相关的服务类型介绍

作者头像
灰子学技术
发布2021-08-27 11:21:00
5270
发布2021-08-27 11:21:00
举报
文章被收录于专栏:灰子学技术灰子学技术

有三种服务类型可以处理外部流量:ClusterIP、NodePort以及LoadBalancer。还有第4种解决方案:再添加一个抽象层,称为Ingress Controller。如下图所示:

1. ClusterIP:

ClusterIP是Kubernetes中默认的服务类型,它可以让你在集群内部与其他服务进行通信,声明为ClusterIP的服务不应该可以从外部直接可见。

2.NodePort:

因为每个节点有一个固定的IP地址,K8S通过将一个服务声明为NodePort,服务将会暴露节点IP地址,以便你可以从外部访问它。可以在生产环境中使用NodePort,但对于拥有许多服务的大型应用程序来说,手动管理所有不同的IP地址十分麻烦,所以一般不直接使用NodePort来进行外部网络访问。

3.LoadBalancer:

声明一个LoadBalancer类型的服务,就可以使用云提供商的LoadBalancer向外部公开。有了这个解决方案,你不必管理集群中每个节点的所有IP地址,但你将为每个服务配备一个load balancer。缺点是,每个服务都有一个单独的load balancer,你将按照load balancer实例付费。

4.Ingress:

Ingress不是一个服务,而是一个API对象,它可以管理外部对集群服务的访问。它作为反向代理和单一入口点(entry point)进入你的集群,将请求路由到不同的服务。我通常使用NGINX Ingress Controller,它承担了反向代理,同时也作为SSL发挥作用。暴露ingress的最佳生产方案是使用一个load balancer。

借助这一解决方案,你可以使用单个load balancer暴露任意数量的服务,所以你可以让费用保持在最低水平。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-08-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 灰子学技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档