• ingress与ingress-controller


    要理解ingress,需要区分两个概念,ingress和ingress-controller:

      ingress对象: 指的是k8s中的一个api对象,一般用yaml配置。作用是定义请求如何转发到service的规则,可 以理解为配置模板。

      ingress-controller: 具体实现反向代理及负载均衡的程序,对ingress定义的规则进行解析,根据配置的规则来实现 请求转发。

    简单来说,ingress-controller才是负责具体转发的组件,通过各种方式将它暴露在集群入口,外部对 集群的请求流量会先到ingress-controller,

    而ingress对象是用来告诉ingress-controller该如何转发请 求,比如哪些域名哪些path要转发到哪些服务等等。

    ingress-controller

    ingress-controller并不是k8s自带的组件,实际上ingress-controller只是一个统称,用户可以选择不 同的ingress-controller实现,目前,由k8s维护的ingress-controller只有google云的GCE与ingressnginx两个,其他还有很多第三方维护的ingress-controller,具体可以参考官方文档。但是不管哪一 种ingress-controller,实现的机制都大同小异,只是在具体配置上有差异。一般来说,ingresscontroller的形式都是一个pod,里面跑着daemon程序和反向代理程序。daemon负责不断监控集群 的变化,根据ingress对象生成配置并应用新配置到反向代理,比如nginx-ingress就是动态生成nginx 配置,动态更新upstream,并在需要的时候reload程序应用新配置。为了方便,后面的例子都以k8s 官方维护的nginx-ingress为例。

    ingress

    ingress是一个API对象,和其他对象一样,通过yaml文件来配置。ingress通过http或https暴露集群 内部service,给service提供外部URL、负载均衡、SSL/TLS能力以及基于host的方向代理。ingress要 依靠ingress-controller来具体实现以上功能。

  • 相关阅读:
    Mysql开启日志
    amfphp传递负数的bug
    linux /var/spool/clientmqueue 目录占大量空间
    WinXP SSH连接不上虚拟机的解决方法
    批量数据替换助手V1.0版发布
    也谈反射的应用场景
    反射+特性打造简洁的AJAX调用
    文本处理之利器正则表达式闪亮登场
    关于缩略图的生成与访问策略的一些经验分享
    装饰模式个人的一些理解
  • 原文地址:https://www.cnblogs.com/liuyuanzhe/p/13611220.html
Copyright © 2020-2023  润新知