首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一次不成功的 Istio 断路器尝试

我认为。。这东西还是有 BUG 吧。

断路器这事情卡了我很久,总算跑通了一小部分,如果不是我学艺不精的原因,Istio 你要努力啊。

首先运行一个最新版本的 Istio 安装,目前是 0.4 版本。

下载:https://github.com/istio/istio/releases

安装:

Workload

我们使用经典的 httpbin 作为服务方,具体 yaml 可以参考附件

客户端服务是一个自定义镜像,其中包含一些方便使用的工具,yaml 同样的参看附件。

注入 istio sidecar 的两个 Pod 运行起来之后,就可以尝试我们的断路器了。

缺省路由

必须有能和断路器匹配的缺省路由!

详情可以参考官方文档的一节。

https://istio.io/docs/concepts/traffic-management/rules-configuration.html

Circuit breaker

手册:https://istio.io/docs/reference/config/traffic-rules/destination-policies.html#istio.proxy.v1.config.CircuitBreaker.SimpleCircuitBreakerPolicy

按照文档上的只言片语,拼凑一个只允许一个连接,然后就会断掉的服务规则,注意,kind 字段是:

使用命令执行之后,可以用指令查询 Envoy 中的相关规则:。会看到类似下面的输出,其中的部分和我们的配置是一致的(如果没有缺省路由,就不会出现):

测试

使用 Sleep 镜像中的 Siege 进行测试:

会看到其成功率极低。如果使用等待规则刷新之后,重新执行测试,会重新看到 100% 的成功率。

问题

目前,以及的测试均未能成功,在 Envoy 的配置中也无法发现什么迹象。

似乎没有方法可以查询负载均衡池的状态。让验证变得非常困难。

附件

sleep.yaml

httpbin.yaml

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180109G0ZRML00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券