服务网格如何支持自定义网段或端口拦截规则?
操作场景
某些场景下,用户希望能够指定拦截的IP网段,只有IP网段内的请求会被代理拦截;某些场景下,需要配置拦截规则仅针对特定端口的请求生效。以下将介绍两种拦截网段的配置方式。
负载级别配置拦截IP网段
通过配置业务deployment文件,可以在负载级别配置IP网段拦截:
执行kubectl edit deploy –n user_namespace user_deployment
1. 在deployment.spec.template.metadata.annotations中配置IP网段拦截traffic.sidecar.istio.io/includeOutboundIPRanges:
2. 在deployment.spec.template.metadata.annotations中配置IP网段不拦截traffic.sidecar.istio.io/excludeOutboundIPRanges:
注意:上述操作会导致业务容器滚动升级。
负载级别指定端口配置出入流量拦截
通过修改业务deployment文件,可以在负载级别配置端口上的出入流量拦截规则:
执行kubectl edit deploy –n user_namespace user_deployment
1. 在deployment.spec.template.metadata.annotations中配置入流量指定端口不拦截traffic.sidecar.istio.io/excludeInboundPorts:
2. 在deployment.spec.template.metadata.annotations中配置入流量指定端口拦截traffic.sidecar.istio.io/includeInboundPorts:
3. 在deployment.spec.template.metadata.annotations中配置出流量指定端口不拦截traffic.sidecar.istio.io/excludeOutboundPorts:
4. 在deployment.spec.template.metadata.annotations中配置出流量指定端口拦截traffic.sidecar.istio.io/includeOutboundPorts:
注意:上述操作完成后会导致业务容器滚动升级。