zl程序教程

您现在的位置是:首页 >  其它

当前栏目

DeepFlow本地构建1——Agent

构建 本地 Agent
2023-06-13 09:18:46 时间

本文构建参考该文件docker-build

1 构建环境

OS:windows11 WSL2

容器:Docker Desktop

镜像:ghcr.io/deepflowio/rust-build:1.18(根据时间采用最新的)

代码版本:v6.2.6

2 启动构建环境

  • 本地先准备先下载好代码(请注意一定用git clone下载,构建过程中会检查.git文件)
git clone -b v6.2.6 https://github.com/deepflowio/deepflow.git e:/deeflow
  • 基于构建镜像启动容器
docker run --name=dfbuild --network=host -v e:/deeflow:/deepflow -itd ghcr.io/deepflowio/rust-build:1.18 /bin/sh

3 构建Agent

  • 进入容器
docker exec -it dfbuild /bin/sh
  • 设置环境变量(不设置构建时会报错)
export CARGO_HTTP_CHECK_REVOKE=false
  • 启动构建
source /opt/rh/devtoolset-8/enable && cp docker/rust-proxy-config /usr/local/cargo/config
RUSTFLAGS="-D warnings" && cargo build --release && cargo build --release --bin deepflow-agent-ctl

如无意外,5分钟应该就可以构建好了。

由于DeepFlow的Agent是采用Rust编写的,所以最终生成的文件中不会包含eBPF内核态的elf文件,因为字节码已经编译链接到Agent的二进制文件中,这也是Rust的优势。