当前位置: 首页 > news >正文

istio tcp连接超时测试

除了 tc 以外,以下这些工具和方法也可以用来在 Istio 中测试 TCP 连接超时(connectTimeout),包括控制连接建立时间、模拟端口不可达、无响应服务等:


✅ 1. iptables —— 拦截并丢弃 SYN 包(最直接控制连接建立阶段)

你可以在目标 Pod 上使用 iptables 丢弃 TCP 请求,模拟连接超时:

# 丢弃目标端口上的 SYN 请求(例如 8080)
iptables -A INPUT -p tcp --dport 8080 --syn -j DROP

📌 效果:

  • 发起请求的 client 会“连接不成功但不立即失败”,最终因 connectTimeout 超时。

🔄 恢复规则:

iptables -F

在 Istio 中测试 TCP 连接超时(connectTimeout) 主要是验证 Envoy 在发起 TCP 连接时,如果在指定时间内无法完成三次握手,会主动终止连接。这个设置一般在 DestinationRule 中配置:

apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:name: my-service-dr
spec:host: my-service.default.svc.cluster.localtrafficPolicy:connectionPool:tcp:connectTimeout: 5s

✅ 方法二:目标服务使用 tc 命令故意延迟 TCP 响应

步骤:

  1. 在被访问的 Pod 上使用 tc 工具增加延迟:
# 延迟响应 SYN-ACK 包
tc qdisc add dev eth0 root netem delay 10s
  1. 设置 connectTimeout: 5s,然后从业务容器访问该服务
curl my-service.default.svc.cluster.local:8080

预期效果:

  • 请求约 5 秒后失败
  • 返回 503,proxy 日志中看到 connection timeout 类似字样
http://www.dtcms.com/a/296782.html

相关文章:

  • android 小bug :文件冲突的问题
  • Linux 磁盘挂载,查看uuid
  • vlm MiniCPM 学习部署实战
  • 上证50ETF期权的交易时间是什么时候?
  • 洛谷 P2572 [SCOI2010] 序列操作 题解(线段树)
  • 高可用架构模式——如何应对接口级的故障
  • R拟合 | 一个分布能看到三个峰,怎么拟合出这三个正态分布的参数? | 高斯混合模型 与 EM算法
  • Android tcp socket sample示例
  • 实时云渲染将UE像素流嵌入业务系统,实现二维管理系统与数字孪生三维可视化程序的无缝交互
  • MySQL如何处理并发访问和高负载?
  • qlib Alpha360 因子列表解读
  • C++与WebAssembly打造跨平台游戏
  • 《使用Qt Quick从零构建AI螺丝瑕疵检测系统》——4. 前后端联动:打通QML与C++的任督二脉
  • 计算机网络摘星题库800题笔记
  • 单片机按键的控制
  • 西门子plc IEC_TIMER 与 TON_TIME 异同
  • 【STM32】FreeRTOS 任务的创建(二)
  • ESP32+MicroPython:嵌入式开发的极简入门指南
  • MySQL基础02
  • JavaScript 入门教程
  • 【MySQL】MySQL 事务和锁详解
  • Linux应用开发基础知识——进程学习2(exec函数、system函数、popen函数)(三)
  • C语言:20250724笔记(函数-指针)
  • S7-200 SMART 编程基础详解:从语言、数据结构到寻址方式
  • Spring Bean生命周期七步曲:定义、实例化、初始化、使用、销毁
  • C语言(十)
  • 面试150 寻找峰值
  • Leetcode-.42接雨水
  • 【Linux基础知识系列】第六十四篇 - 了解Linux的硬件架构
  • 【学习】数字化车间与智能工厂如何推进制造业转型