《istio-in-action 系列》 4. 使用 istio Gateway 允许外部访问
使用 istio Gateway 允许外部访问
仅仅是简单的创建了 VirtualService 是不能实现集群外部的访问的。
在 Istio 中, 还有一个 Gateway 的概念。 顾名思义, Gateway 就是大门保安, 只允许具有特定特征的流量通过。
1.1. 创建 Gateway
先来创建一个 Gateway
|
|
上述 gateway 注意以下几点。
- 使用
.spec.selector
选择了绑定的 ingressgateway。 如果 省略 则绑定到所有的 ingressgateway。
|
|
.spec.servers.port
指定了 gateway 允许的 端口 和 协议。- 截止
istio v1.11.4
只支持HTTP|HTTPS|GRPC|HTTP2|MONGO|TCP|TLS
7中。
- 截止
.sepc.servers.hosts
指定了允许通过的 域名。- 如果使用
ns_name/istio.tangx.in
namespace 字段, 则表示只有 特定 的namespace 中生效。 istio.tangx.in
如果没有 ns 字段, 则表示所有 ns 中生效。
- 如果使用
1.2. VirutalService 定义
随后, 更新 VirtualService 配置
|
|
需要注意
.spec.gateways
的列表值必须是存在的 gateway 名称.spec.hosts
的值, 必须是上述选中的 gateway 中定义的。
2. 测试
运行如下命令创建相关环境
|
|
使用 04.http 的 GET 请求进行测试
注意: 使用访问的外部域名
istio.tangx.in
一定要进行 dns 解析。 或使用/etc/resolv.conf
进行绑定。
- 原文链接:https://typonotes.com/posts/books/istio-in-action/chapter02/04-gateway/
- 本文为原创文章,转载注明出处。
- 欢迎 扫码关注公众号
Go与云原生
或 订阅网站 https://typonotes.com/ 。 - 第一时间看后续精彩文章。觉得好的话,请猛击文章右下角「在看」,感谢支持。