• istio系列:第四章-Ingress网关配置


    istio系列:第四章-Ingress网关配置

    Gateway在网格边缘接收外部访问,并将流量转发到网格内的服务。Istio通过Gateway将网格内的服务发布成外部可访问的服务,还可以通过Gateway配置外部访问的端口、协议及与内部服务的映射关系。

    在istio中,同注入pod之间通讯是通过envoy进行路由的,但是普通pod与istio.pod、外网与istio.pod之间的通讯,有该如何进行那?如果使用k8s原生的service可以进行通讯,但是就无法使用istio中的路由转发、流量限制等功能。那么我们既想可以外网访问又可以使用istio中的功能,该怎么办那?Gatway解决了这个问题。

    Gatway的原理与ingress基本类似,都是在内部部署了一个类似于nginx的组件,解析请求hosts然后转发到POD上。

    接下来让我们看一下它的具体配置结构

    type Gateway struct {
       Servers []*Server 
       Selector map[string]string  
    }
    
    • 1
    • 2
    • 3
    • 4

    Selector

    标签选择器,这个我们并不陌生提供了多种标签过滤组件。

    这里的作用是对POD进行过滤

    Servers

    提供了向外开放的端口以及传输协议、绑定hosts(这个将具体讲解)。

    type Server struct {
      //暴露的端口、使用的协议
       Port *Port
       Bind string
      //设定请求的hosts,并且与virtualservice绑定,FQDN语法,作用过滤virtualservice中的hosts
       Hosts []string
      // tls设定
       Tls *ServerTLSSettings 
      // 流量应该发送到的环回 IP 端点或 Unix 域套接字
       DefaultEndpoint string 
      // 服务名称
       Name string 
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    接下来让我们重点讲解一下hosts机制

    设定gatway公开的域名,通常用于http服务,但是也可以使用与TCP服务。

    在istio中也有命名空间的概念,gatway在定义域名(主机)时可以指定作用于的命名空间,这样virtualserivce在使用的过程中就需要进行命名空间的判断。

    gatway通过 namespace/ + 域名来设定命名空间,对于hosts来说可以使用FQDN格式,所以我们在日常使用过程时应该尽量使用FQDN格式进行配置。

    让我们举个例子

    hosts设置了prod/*.example.com,那么VirtualService在使用的过程中指定hosts时可以指定dev.example.com,prod.example.com这些的前提是VirtualService在prod命名空间下或者设置了exportTo。

    当hosts设置为*或者.时 代表任何或当前命名空间,比如*/foo.example.com代表所有命名空间下的virtualService都可以使用该gatway

    如果我们不设置命名空间的话,比如example.com,那么与.的效果一致

    这里其实我们讲解的是ingress gatway(外部访问内部的过程)

    那么内部向外部访问的过程又是怎么样的那?为什么内外访问需要两个工具,egress gatway又是什么那?这个让我们在下一章 service-entry 中进行讲解。

  • 相关阅读:
    uniapp 微信小程序 canvas 问题
    LTspice学习笔记
    梳理Langchain-Chatchat知识库API接口
    你绝对不知道的JMeter中如何实现接口之间的关联?
    [附源码]计算机毕业设计基于Springboot校园订餐管理系统
    疫情宅在家,研究一下fastjson中字段智能匹配的原理
    EPSON机器人与PC上位机软件C#网络TCP通讯
    WPS表格无法粘贴信息,原因是复制区域与粘贴区域形状不同
    网页制作基础大二dw作业HTML+CSS+JavaScript云南我的家乡旅游景点
    前端日期比较大小(超简单版,不需要转换时间戳)
  • 原文地址:https://blog.csdn.net/a1023934860/article/details/125414029