【运维面试】k8s中service和ingress的区别

举报
互联网老辛 发表于 2021/06/08 22:29:39 2021/06/08
【摘要】 serivce是如何被设计的: 在pod中运行的容器在动态,弹性的变化(比如容器的重启IP地址会变化),为了给pod提供一个固定的,统一访问的接口,以及负载均衡的能力,并借助DNS系统实现服务发现功能,解决客户端发现容器难的问题,于是变设计了service service 和pod对象的IP地址,在集群内部可达,但集群外部用户无法接入服务,解决的思路有: nod...

serivce是如何被设计的:
在pod中运行的容器在动态,弹性的变化(比如容器的重启IP地址会变化),为了给pod提供一个固定的,统一访问的接口,以及负载均衡的能力,并借助DNS系统实现服务发现功能,解决客户端发现容器难的问题,于是变设计了service

service 和pod对象的IP地址,在集群内部可达,但集群外部用户无法接入服务,解决的思路有:

  1. node pod端口上做端口暴露
  2. 在工作节点上用公用网络名称空间(hostname)
  3. 使用service的nodeport或者loadbalancer
  4. ingress七层负载和反向代理资源。

service 提供pod的负载均衡的能力,但只在4层有负载,而没有功能,只能到IP层面。

service的几种类型:

  • clusetr IP: 默认类型,自动分配一个仅可以在内部访问的虚拟IP,仅供内部访问
  • nodeport: 在clusterip的基础上,为集群内的每台物理机绑定一个端口,外网通过任意节点的物理机IP来访问服务,应用方式: 外服访问服务
  • loadbalance: 在nodeport的基础上,提供外部负载均衡与外网统一IP,此IP可以将讲求转发到对应的服务上。 应用方式: 外服访问服务
  • externalname : 引用集群外的服务,可以在集群内部通过别名的方式访问。

ingress:
service 只能提供四层的负载,虽然可以通过nodeport的方式来服务,

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/115530452

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。