使用 istio Gateway 允许外部访问
仅仅是简单的创建了 VirtualService 是不能实现集群外部的访问的。
在 Istio 中, 还有一个 Gateway 的概念。 顾名思义, Gateway 就是大门保安, 只允许具有特定特征的流量通过。
1.1. 创建 Gateway
先来创建一个 Gateway
---
# https://istio.io/latest/docs/reference/config/networking/gateway/
apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
name: istio-tangx-in
namespace: myistio
spec:
selector:
istio: ingressgateway # 选择 ingressgateway, 省略则兼容所有
servers:
- port:
number: 80
name: http
protocol: HTTP
hosts:
# - myistio/istio.tangx.in # 只针对特定的 namespace myistio 有效
- istio.tangx.in # 所有 ns 都有效
上述 gateway 注意以下几点。
- 使用
.spec.selector
选择了绑定的 ingressgateway。 如果 省略 则绑定到所有的 ingressgateway。
kgall deployment -l istio=ingressgateway
NAMESPAC