Istio Circuit Breaker 谁绊倒了它?
Istio Circuit Breaker who trips it?
我目前正在研究 1.6 版本的服务网格 Istio。数据平面(Envoy 代理)由控制平面配置。
- 当我通过创建目标规则配置断路器并且断路器打开时,客户端 sidecar 代理是否已经 return 503 或服务器端 sidecar 代理?
- 客户端 Sidecar 代理是自动将请求路由到另一个可用的服务实例,还是只是 return 将 503 发送到应用程序容器?
提前致谢!
- 在日志条目中,您可以检查它们以找出被断路器停止的连接的两端。来自
istio-proxy
容器的日志消息中存在连接双方的 IP 地址。
{
insertId: "..."
labels: {
k8s-pod/app: "circuitbreaker-jdwa8424"
k8s-pod/pod-template-hash: "..."
}
logName: ".../logs/stdout"
receiveTimestamp: "2020-06-09T05:59:30.209882320Z"
resource: {
labels: {
cluster_name: "..."
container_name: "istio-proxy"
location: "..."
namespace_name: "circuit"
pod_name: "circuit-service-a31cb334d-66qeq"
project_id: "..."
}
type: "k8s_container"
}
severity: "INFO"
textPayload: "[2020-06-09T05:59:27.854Z] UO 0 0 0 "-" - - 172.207.3.243:443 10.1.13.216:36774 "
timestamp: "2020-06-09TT05:59:28.071001549Z"
}
消息来自 istio-proxy
容器,该容器运行受 CircuitBreaker
请求发送到的政策影响的 Envoy。还有被中断的连接的源和目标的 IP 地址。
- 它将 return 503。有配置 retries 的选项,但是我没有测试它与
CircuitBreaker
的协同作用,如果重试实际上会转到不同的 pod,如果以前return出错了。
也看看我好不容易找到的CircuitBreaker最详细的解释
希望对您有所帮助。
我目前正在研究 1.6 版本的服务网格 Istio。数据平面(Envoy 代理)由控制平面配置。
- 当我通过创建目标规则配置断路器并且断路器打开时,客户端 sidecar 代理是否已经 return 503 或服务器端 sidecar 代理?
- 客户端 Sidecar 代理是自动将请求路由到另一个可用的服务实例,还是只是 return 将 503 发送到应用程序容器?
提前致谢!
- 在日志条目中,您可以检查它们以找出被断路器停止的连接的两端。来自
istio-proxy
容器的日志消息中存在连接双方的 IP 地址。
{
insertId: "..."
labels: {
k8s-pod/app: "circuitbreaker-jdwa8424"
k8s-pod/pod-template-hash: "..."
}
logName: ".../logs/stdout"
receiveTimestamp: "2020-06-09T05:59:30.209882320Z"
resource: {
labels: {
cluster_name: "..."
container_name: "istio-proxy"
location: "..."
namespace_name: "circuit"
pod_name: "circuit-service-a31cb334d-66qeq"
project_id: "..."
}
type: "k8s_container"
}
severity: "INFO"
textPayload: "[2020-06-09T05:59:27.854Z] UO 0 0 0 "-" - - 172.207.3.243:443 10.1.13.216:36774 "
timestamp: "2020-06-09TT05:59:28.071001549Z"
}
消息来自 istio-proxy
容器,该容器运行受 CircuitBreaker
请求发送到的政策影响的 Envoy。还有被中断的连接的源和目标的 IP 地址。
- 它将 return 503。有配置 retries 的选项,但是我没有测试它与
CircuitBreaker
的协同作用,如果重试实际上会转到不同的 pod,如果以前return出错了。
也看看我好不容易找到的CircuitBreaker最详细的解释
希望对您有所帮助。