3. 环境准备与依赖检查
在开始 Collector 管道移植适配之前,必须确保基础环境满足最低要求。本章节详细列出操作系统、运行时版本、容器化环境及 Kubernetes 集群的检查清单与验证步骤。
3.1 操作系统要求
Collector 管道组件支持以下操作系统,建议使用长期支持(LTS)版本:
| 操作系统 | 最低版本 | 推荐版本 | 架构 |
|---|---|---|---|
| Ubuntu | 20.04 | 22.04 LTS | x86_64 / arm64 |
| CentOS / Rocky Linux | 7.9 | 9.3 | x86_64 |
| Debian | 11 | 12 | x86_64 / arm64 |
| macOS(开发环境) | 12 Monterey | 14 Sonoma | x86_64 / arm64 |
提示: 生产环境建议统一使用 Ubuntu 22.04 LTS,社区包兼容性最佳,且与云原生工具链(如 Docker、Kubernetes)的集成测试最充分。
3.2 Python 版本检查
Collector 管道的部分适配脚本和插件依赖 Python 运行时。请确保系统已安装正确版本:
- 最低版本: 3.8
- 推荐版本: 3.11
- 注意: 不兼容 Python 2.x 系列
执行以下命令验证:
python3 --version
# 预期输出:Python 3.11.x
若版本不满足,建议通过 pyenv 或系统包管理器升级:
# Ubuntu / Debian
sudo apt update && sudo apt install python3.11 python3.11-venv
# CentOS / Rocky Linux
sudo dnf install python3.11
3.3 Go 版本检查
Collector 管道核心组件使用 Go 语言开发,编译和运行均依赖 Go 运行时:
- 最低版本: 1.20
- 推荐版本: 1.22
- 注意: 低于 1.18 的版本将无法编译部分依赖库
验证命令:
go version
# 预期输出:go version go1.22.x linux/amd64
如需安装或升级,推荐从 Go 官方下载页 获取二进制包,或使用 gvm 管理多版本。
3.4 Docker 环境检查
容器化部署是 Collector 管道的主要运行方式。Docker 环境必须满足以下条件:
| 检查项 | 要求 | 验证命令 |
|---|---|---|
| Docker Engine | ≥ 24.0 | docker version --format '{{.Server.Version}}' |
| Docker Compose | ≥ 2.20 | docker compose version |
| 容器运行时 | containerd ≥ 1.6 | docker info | grep -i containerd |
| 磁盘空间 | ≥ 20GB 可用 | df -h /var/lib/docker |
警告: 如果使用 Podman 替代 Docker,请确保安装 docker-compat 包,或手动配置别名。Collector 管道的移植脚本默认调用 docker 命令。
3.5 Kubernetes 集群检查
Collector 管道最终将部署到 Kubernetes 集群中。请确认集群状态满足以下条件:
- Kubernetes 版本: ≥ 1.24(推荐 1.28+)
- 节点数量: 至少 1 个 worker 节点(生产环境建议 3+)
- kubectl 版本: 与集群版本偏差不超过 ±1 个次要版本
- 集群网络: 已安装 CNI 插件(Calico、Flannel 或 Cilium)
快速验证命令:
kubectl version --short
kubectl cluster-info
kubectl get nodes -o wide
如果使用 minikube 或 kind 进行本地开发,请确保分配足够资源:
# minikube 示例
minikube start --cpus=4 --memory=8192 --disk-size=20g
# kind 示例
kind create cluster --config kind-config.yaml
3.6 依赖检查清单
建议在开始移植前,逐项核对以下清单并记录结果:
| 序号 | 检查项 | 命令/方法 | 通过标准 |
|---|---|---|---|
| 1 | 操作系统版本 | cat /etc/os-release |
匹配推荐列表 |
| 2 | Python 版本 | python3 --version |
≥ 3.8 |
| 3 | Go 版本 | go version |
≥ 1.20 |
| 4 | Docker 引擎 | docker version |
≥ 24.0 |
| 5 | Docker Compose | docker compose version |
≥ 2.20 |
| 6 | Kubernetes 集群 | kubectl version |
≥ 1.24 |
| 7 | 集群节点就绪 | kubectl get nodes |
所有节点 Ready |
| 8 | 磁盘空间 | df -h /var/lib/docker |
可用 ≥ 20GB |
最佳实践: 将上述检查命令写入一个 shell 脚本(如
check_env.sh),每次进入新环境时一键运行,避免遗漏。
3.7 常见问题与解决
- 问题:
python3命令未找到
解决: 安装 python3 包,或使用python命令(部分系统默认指向 Python 2),建议创建别名。 - 问题: Docker 权限不足(
permission denied)
解决: 将当前用户加入 docker 组:sudo usermod -aG docker $USER,然后重新登录。 - 问题: kubectl 无法连接集群
解决: 检查~/.kube/config文件是否存在且内容正确,或使用export KUBECONFIG指定配置文件。 - 问题: Go 版本过低导致编译失败
解决: 使用go install golang.org/dl/go1.22.0@latest安装指定版本,或通过 gvm 切换。