Service Mesh
动态代理 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

如何在 CentOS 8 下编译 istio 项目
· ☕ 3 分钟
本文主要描述在 CentOS 8.2 下,如何使用本地工具编译 https://github.com/istio/istio 项目。另外一种方法是通过 BUILD_WITH_CONTAINER 参数控制,使用容器编译,仅依赖于 make 和 docker。 1. 安装并升级 Ruby >= 2.6 安装 Ruby 1 yum install -y ruby 查看 Ruby 版本 1 2 3 ruby -v ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-linux] 安装 RVM 1 2 3 4 yum install -y tar gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable source /etc/profile.d/rvm.sh 安