检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
服务网格如何支持自定义网段或端口拦截规则? 操作场景 某些场景下,用户希望能够指定拦截的IP网段,只有IP网段内的请求会被代理拦截;某些场景下,需要配置拦截规则仅针对特定端口的请求生效。以下将介绍两种拦截网段的配置方式。 负载级别配置拦截IP网段 通过配置业务deployment文件,可以在负载级别配置IP网段拦截:
多端口的服务创建灰度任务时报不合法的请求体 问题描述 多端口的服务创建灰度任务时报不合法的请求体,提示“ASM.0002 不合法的请求体”。 排查思路 登录ASM控制台,按“F12”,切换到Network页签查看接口。发现post请求创建release接口全部返回400,查看返回内容提示如下信息:
基于请求内容发布策略对一些服务为什么没有生效? 问题描述 基于请求内容发布策略没有生效。 原因分析 基于请求内容发布策略只对直接访问的入口服务有效。 解决方法 如果希望对所有服务有效,需要业务代码对HEAD信息传播。方法可参考如何使用Istio调用链埋点。 父主题: 灰度发布
x-envoy-upstream-service-time: 6 根据以上结果,可以看到带有正确的JWT Token的请求访问服务成功,带有错误的JWT Token或者不带JWT Token的请求访问服务失败,说明请求身份认证生效。 父主题: 安全
为什么在调用链里,找不到某些错误的请求数据? 出于性能考虑,现在调用链的采样率为10%,即您的100次请求,只有10条会被记录下来,在页面上呈现。 父主题: 流量监控
理。 UT(上游请求超时) 含义: UT(UpstreamRequestTimeout)表示上游请求超时,一般伴随返回“504”的HTTP状态码。 典型场景 VirtualService中给目标服务配置了超时时间,在配置的超时时间后,客户端代理自动超时,取消请求。 典型日志 客户端出流量日志。
查看流量监控 操作场景 服务的流量治理页面支持查看近1小时内流量的监控数据,包括RPS、成功率和请求时延。 操作步骤 登录应用服务网格控制台,单击服务网格的名称,进入网格详情页面。 在左侧导航栏选择“服务管理”,在列表右上方选择服务所在命名空间。 选择一个服务,单击操作列的“流量
x-ot-span-context 下面以一个典型的例子来说明如何在接收和发送请求时,通过修改代码来传递调用链相关Header信息。 Python代码示例 服务接收端在处理请求时,从请求端解析相关Header。在调用后端请求时,传递Trace相关的header。 def getForwardHeaders(request):
参数名称 参数说明 取值范围 最大请求数 转发到单个服务实例的最大请求数,默认232-1 1- 最大等待请求数 转发到目标服务的最大待处理的HTTP请求数,默认232-1 1- 连接最大空闲时间(s) 上游服务连接的空闲超时。如果一定时间内没有活跃的请求,达到空闲时间后,连接将关闭,如果未设置,默认值为1小时
客户端将收到的JWT令牌存储在本端,供后续请求时使用; ⑤ 客户端在向其他服务发起请求时携带JWT令牌,无需再提供用户名、密码等信息; ⑥ 网格数据面代理拦截到流量,使用配置的公钥验证JWT令牌; ⑦ 验证通过后,网格代理将请求转发给服务端; ⑧ 服务端处理请求; ⑨ 服务端返回应答数据给网格代理;
多集群场景安装的时候,15012端口是暴露在公网的,受攻击影响的可能性大一些。 根本原因 15012端口接收的请求不需要认证信息即可被Istiod处理,在大量向Istiod该端口发送请求时会导致Istiod服务不可用。 受影响版本 低于1.13.1版本的Istio 补丁修复版本 ASM 1
器的情况下,网关会访问失败。 流量拦截配置 仅Istio 1.13及以上版本支持流量拦截功能。 默认情况下,ASM所注入的sidecar会拦截所有入方向和出方向流量,可通过流量拦截配置修改默认的流量拦截规则。 入方向端口:可用于配置端口级别拦截规则,生效于网格服务的内部端口,以逗号分隔入站端口。
的系统中引入故障,从而测试其健壮性和应对故障的能力。有两种类型的故障注入,可以在转发前延迟(delay)请求,模拟缓慢的网络或过载的服务,也可以中断(abort)HTTP请求,并返回一个特定的HTTP状态码给调用者。通过中断,可以模拟一个有故障的上游服务。 如下图所示,注入一个指
est-canary应用(灰度版本v2),配置v1版本、v2版本分别50%的流量比例。当容器服务访问虚拟机服务时,50%的请求将由v1版本响应,50%的请求由v2版本响应。 实现灰度发布的流程如下: 部署虚拟机服务灰度版本:在虚拟机2上部署httptest-canary应用,作为虚拟机服务灰度版本v2。
流量拦截配置 默认情况下,ASM所注入的sidecar会拦截所有入方向和出方向流量,可通过流量拦截配置修改默认的流量拦截规则。 入方向端口:可用于配置端口级别拦截规则,生效于网格服务的内部端口,以逗号分隔入站端口。 仅拦截指定端口表示访问网格服务指定端口范围内的请求将被重定向到sidecar中。
验证流程 准备两台ECS虚拟机。 虚拟机1请参考部署ASM-PROXY部署PROXY,虚拟机2可以不用部署。但请确保虚拟机间网络正常,且安全组、防火墙已放通。 在虚拟机1上部署httptest应用。 具体操作请参见部署虚拟机服务。 添加虚拟机1上的服务到网格。 具体操作请参见添加虚拟机服务到网格。
rnetes容器上网格的数据面Proxy可以自动注入,自动流量拦截,基于Kubernetes的服务和实例模型自动进行服务发现,在虚拟机场景下需要手动安装数据面Proxy(ASM-PROXY),在安装过程中初始化流量拦截。具体来说,ASM-PROXY是虚拟机部署工具包,用于连接虚拟
Header,或者基于Cookie值 √ √ √ 故障注入 支持注入指定时延或特定错误的故障,支持配置故障百分比 √ √ √ 熔断 支持配置最大请求数、每连接最大请求数、最大等待请求数、最大重试次数等七层请求管理;支持配置最大连接数、连接超时时间等四层连接管理;支持异常点检查、故障实例的自动隔离和自动恢复 √ √ √
Header,或者基于Cookie值 √ √ √ 故障注入 支持注入指定时延或特定错误的故障,支持配置故障百分比 √ √ √ 熔断 支持配置最大请求数、每连接最大请求数、最大等待请求数、最大重试次数等七层请求管理;支持配置最大连接数、连接超时时间等四层连接管理;支持异常点检查、故障实例的自动隔离和自动恢复 √ √ √
跟随 Pod 的其它容器一起启动。 由于 initContainer 在 Sidecar 启动之前执行,initContainer 发出的请求会被重定向到尚未启动的 Sidecar 上,这会导致 initContainer 执行期间出现流量丢失。 解决方案 可以通过以下任意方式来防止流量丢失: