在单机上部署 Bigtrace
NOTE: 本文档是为 Bigtrace 服务的管理员而非 Bigtrace 用户设计的。这也为非 Google 员工设计 - Google 员工应查看 go/bigtrace。
在单机上部署 Bigtrace 有多种方式:
- 手动运行 Orchestrator 和 Worker 可执行文件
- docker-compose
- minikube
NOTE: 选项 1 和 2 用于开发目的,不推荐用于生产环境。对于生产环境,请遵循在 Kubernetes 上部署 Bigtrace 的说明。
前提条件
要构建 Bigtrace,你必须首先遵循[快速入门设置和构建](/docs/contributing/getting-started.md#quickstart)步骤,但使用 tools/install-build-deps --grpc 以安装 Bigtrace 和 gRPC 所需的依赖项。
手动运行 Orchestrator 和 Worker 可执行文件
要使用可执行文件在本地手动运行 Bigtrace,你必须先构建可执行文件,然后按如下方式运行它们:
构建 Orchestrator 和 Worker 可执行文件
tools/ninja -C out/[BUILD] orchestrator_main
tools/ninja -C out/[BUILD] worker_main运行 Orchestrator 和 Worker 可执行文件
使用命令行参数运行 Orchestrator 和 Worker 可执行文件:
./out/[BUILD]/orchestrator_main [args]
./out/[BUILD]/worker_main [args]示例
创建一个包含 Orchestrator 和三个 Worker 的服务,可以使用 Python API 在本地与之交互。
tools/ninja -C out/linux_clang_release orchestrator_main
tools/ninja -C out/linux_clang_release worker_main
./out/linux_clang_release/orchestrator_main -w "127.0.0.1" -p "5052" -n "3"
./out/linux_clang_release/worker_main --socket="127.0.0.1:5052"
./out/linux_clang_release/worker_main --socket="127.0.0.1:5053"
./out/linux_clang_release/worker_main --socket="127.0.0.1:5054"docker-compose
为了在没有 Kubernetes 开销的情况下测试 gRPC,可以使用 docker-compose,它会构建 infra/bigtrace/docker 中指定的 Dockerfile,并创建 Orchestrator 和指定的一组 Worker 副本的容器化实例。
cd infra/bigtrace/docker
docker compose up
# 或者如果使用 docker compose 独立二进制文件
docker-compose up这将构建并启动 compose.yaml 中指定的 Worker(默认为 3 个)和 Orchestrator。
minikube
minikube 集群可用于在本地机器上模拟 Kubernetes 集群设置。这可以通过脚本 tools/setup_minikube_cluster.sh 创建。
这将启动一个 minikube 集群,构建 Orchestrator 和 Worker 镜像,并将它们部署在集群上。然后可以通过 Python API 等客户端,使用 minikube ip:5051 作为 Orchestrator 服务地址与之交互。