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
环境依赖全景图 操作系统 Ubuntu 22.04 / CentOS 9 Python 运行时 ≥ 3.8 / 推荐 3.11 Go 运行时 ≥ 1.20 / 推荐 1.22 Docker 引擎 ≥ 24.0 + Compose Collector 管道编译与打包 Kubernetes 集群 ≥ 1.24 / 推荐 1.28+ / CNI 已安装 说明:所有依赖项均需通过版本检查,任一环节不满足将导致管道移植失败。

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 切换。