k8s中pod、service、ingress之间的关系

前言

当应用服务需要通过域名访问时,会经过pod–>service–>ingress的部署流程,实现所需要的功能

Pod
  • 直接访问Pod资源,存在的缺陷
    1.Pod会随时被Deployment这样的控制器删除重建,访问Pod的结果就会变得不可预知
    2.Pod的地址是在Pod启动后才被分配,在启动之前并不知道Pod的IP地址
    3.应用往往都是由多个运行相同镜像的一组Pod组成,一个个Pod的访问变得不现实
Service

k8s中Service对象是用来解决上述Pod访问的问题


  • Service有一个固定IP地址,Service将访问该地址的流量转发给Pod,具体转发给那些Pod通过Label来选择,而且Service可以给这些Pod做负载均衡
Ingress

通常情况下,service和pod的ip仅可以在集群内部访问;集群外部的请求需要通过负载均衡转发到service在Node上暴露的NodePort上,然后再由kube-proxy通过边缘路由器(edge router)将其转发给相关的Pod或者丢弃,而Ingress就是为进入集群的请求提供路由规则的集合

ingress可以给service提供集群外部访问的url、负载均衡、ssl终止、http路由等。为了配置这些ingress规则,集群管理员需要部署一个ingress controller,它监听ingress和service的变化,根据规则配置负载均衡并提供访问入口

  • 组成部分
    1.nginx: 实现负载均衡到pod的集合
    2.ingress controller: 从集群api获取service对应pod的ip到nginx配置文件中
    3.ingress: 为nginx创建虚拟主机
结语

… …

  • 5
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值