Istio系列学习(十)----Istio的服务网关配置:Gateway

20 篇文章 0 订阅
13 篇文章 0 订阅

一、定义

gateway和VirtualService的关系
gateway:定义了服务从外面怎么访问,在入口处对服务进行统一治理。
VirtualService:定义了匹配到的内部服务怎么流转。

二、gateway配置实例

含义:外部通过80端口访问网格内的服务

gateway的配置如图:
在这里插入图片描述
配合gateway的使用,修改VirtualService,在host上匹配gateway上请求的主机名,并通过gateways字段关联定义的gateway对象。

VirtualService的定义如图
在这里插入图片描述

三、gateway规则定义

gateway主要包含两个关键字段
1)selector
必选字段,通过该标签找到执行gateway规则的envoy。
2)server
必选字段,表示开放的服务列表,gateway的关键内容信息,是一个数组,每个元素都是server类型。

server的描述字段包括:
1)port
必选,描述对外开放的端口

2)hosts
必选,gateway对外发布的地址,FQDN域名,支持左侧通配符来进行模糊匹配。

3)defaultEndpoint
是 Istio 1.1 新增的属性,表示流量转发的默认后端,可以是一个loopback的后 端,也可以是UNIX的域套接字。

4)tls:在实际使用中考虑到安全问题,相关配置如下
◎ httpsRedirect:是否要做HTTP重定向,在这个布尔属性启用时,负载均衡器会给所有HTTP连接都 发送一个301的重定向,要求使用HTTPS。
◎ mode:在配置的外部端口上使用TLS模式时,可以取PASSTHROUGH、SIMPLE、MUTUAL、 AUTO_PASSTHROUGH这4种模式。
◎ serverCertificate:服务端证书的路径。当模式是SIMPLE和MUTUAL时必须指定,配置在单向和双 向认证场景下用到的服务端证书。
◎ privateKey:服务端密钥的路径。当模式是SIMPLE和MUTUAL时必须指定,配置在单向和双向认 证场景下用到的服务端私钥。
◎ caCertificates:CA 证书路径。当模式是 MUTUAL 时指定,在双向认证场景下配置在Gateway上验 证客户端的证书。
◎ credentialName:Istio 1.1 的新特性,用于唯一标识服务端证书和密钥。Gateway使用 credentialName从远端的凭据存储(如 Kubernetes的 Secrets)中获取证书和密钥,而不是使用Mount的文 件。
◎ subjectAltNames:SAN 列表。SubjectAltName 允许一个证书指定多个域名,在Gateways上可以用 来验证客户端提供的证书中的主题标识。
◎ minProtocolVersion:TLS协议的最小版本。
◎ maxProtocolVersion:TLS协议的最大版本。
◎ cipherSuites:指定的加密套件,默认使用Envoy支持的加密套件

四、gateway的典型应用
1.将网格内的HTTP服务发布为HTTP外部访问,即3.4.1 节的配置示例。
外部服务通过域名http://weather.com访问到应用的入口服务frontend。VirtualService本身定义了 frontend服务从内部和外部访问同样的路由规则,即根据内容的不同,将请求路由到v2版本或v1版本。注意,这里Gateway的协议是HTTP。
在这里插入图片描述
在这里插入图片描述
2.将网格内的HTTPS服务发布为HTTPS外部访问
这种场景的Gateway配置,重点是:端口为443,协议为HTTPS,TLS模式为 PASSTHROUGH,表示Gateway只透传应用程序提供的HTTPS内容。在本示例中,frontend 入口服务自身是HTTPS类型的服务,TLS需要的服务端证书、密钥等都是由frontend服务自己维护的。
如图所示
在这里插入图片描述
3、将网格内的HTTP服务发布为HTTPS外部访问
场景:服务吱声是Http,网格外部通过https访问该服务。
如图
在这里插入图片描述
配置Gateway如下,可以看到端口为443,协议为HTTPS。与前一种场景的入口服务自身为 HTTPS不同,这里的TLS模式是SIMPLE,表示Gateway提供标准的单向TLS认证。这时需要通过 serverCertificate和 privateKey提供服务端证书密钥。从图 3-55也可以看到 TLS 认证的服务端是在入口的 Envoy 上创建的,入口服务 frontend 本身保持原有的HTTP方式:
配置如图:
在这里插入图片描述
该方式既灵活又满足安全的要求,所以是一种推荐的方式。

4.将网格内的HTTP服务发布为双向HTTPS外部访问
5.将网格内的HTTP服务发布为HTTPS外部访问和HTTPS内部访问

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值