Posts
动态代理 Envoy
· ☕ 2 分钟
Envoy 是第三个从 CNCF 毕业的项目,由于其动态生效、高性能等特性,已经成为云原生事实上的数据平面标准。很多项目都会借助于 Envoy 处理数据平面流量,而专注于控制面适配应用场景,将用户输入通过 xDS 协议写入 Envoy。 1. Envoy 数据处理流程 其中 Downstream,进 Envoy

使用 tinygo 开发 Istio WasmPlugin
· ☕ 2 分钟
wasme 只支持到 istio 1.9,而我使用的是 Istio 1.14,因此本篇直接使用 tinygo 进行验证和学习。 1. 安装 tinygo 要求 Go v1.18+ 安装 tinygo 1 2 brew tap tinygo-org/tools brew install tinygo 查看版本 1 2 3 tinygo version tinygo version 0.27.0 darwin/amd64 (using go version go1.19.3 and LLVM version 15.0.0) 2. 创建 wasm-istio 项目 初始化项目 1 2 3 mkdir wasm-istio cd wasm-istio go mod init wasm-istio 编辑 main.go 见 https://github.com/shaowenchen/demo/blob/master/wasm-istio/main.go 主要是下面这段 1 2 3 4 5 6 7

网络性能测试工具 iperf
· ☕ 2 分钟
1. 安装 Ubuntu 1 apt-get install -y iperf3 CentOS 1 yum install -y iperf3 2. 参数 iperf3 的原理是通过客户端给服务端发送数据包来分析网络,有两种运行模式,客户端和服务端。 iperf3 的参数分为三部分,公共参数,客户端参数,服务端参数。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34

Istio 注入 Sidecar 的几种方式
· ☕ 1 分钟
Istio 注入 Sidecar 的模板在 istio-sidecar-injector ConfigMap 中。通过 annotations 可以对 Sidecar 的各种参数进行自定义配置,比如 CPU 使用、proxyImage 等。下面主要整理的是 Sidecar 的注入方式。 1. 给命名空间添加标签 -> 整个命名空间生效 注入标签 1 kubectl label namespace default istio-injection=enabled --overwrite 重启应用之后,会自动注入 Sidecar 容器。此时,访问流量将通

Istio Gateway 下的几种流量配置路径
· ☕ 1 分钟
1. 常用对象配置 1.1 Gateway selector 选择规则生效的 Envoy servers 匹配的域名 端口 协议 TLS 证书 1.2 VirtualService gateways 指定生效的网关,默认值 mesh 为东西向流量;如果指定 Gateway 对象则为南北向流量 http 七层路由 重定向 重写 重试 条件规则 超时 故障注入 跨站策略 tcp 七层路由 tls 带证书路由 TLS 证书 1.3 DestinationRule host 路由 trafficPolicy 镜像流量 故障转