让我用架构图说明:
┌─────────────────────────────────────────────────────────────┐
│ Cilium 架构 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────────┐ ┌──────────────────────┐ │
│ │ cilium-operator │ │ cilium-agent │ │
│ │ (集群级别控制器) │ │ (节点级别 daemon) │ │
│ │ │ │ │ │
│ │ • CiliumNode CRD │ │ • Endpoint 管理 ✅ │ │
│ │ • IP 池分配 │ │ • Pod Watcher ✅ │ │
│ │ • CiliumIdentity │ │ • BPF 程序生成 ✅ │ │
│ │ • 集群级策略 │ │ • 策略执行 │ │
│ │ │ │ • 网络连接性 │ │
│ └──────────────────────┘ └──────────────────────┘ │
│ (1 replica) (每个节点 1 个) │
└─────────────────────────────────────────────────────────────┘
🚀 一键编译所有 Cilium 镜像
推荐命令:
make docker-images-all
这个命令会构建所有 Cilium 相关的 Docker 镜像,包括:
- cilium-agent (cilium)
- cilium-operator (所有变体: generic, aws, azure, alibabacloud)
- hubble-relay
- clustermesh-apiserver
- cilium-docker-plugin
其他相关命令:
1️⃣ 构建带调试符号的镜像(unstripped):
make docker-images-all-unstripped
2️⃣ 仅构建 operator 所有变体:
make docker-operator-images-all
3️⃣ 快速构建开发镜像:
make dev-docker-image # cilium-agent 开发镜像 make dev-docker-image-debug # cilium-agent debug 镜像
4️⃣ 单独构建特定镜像:
make docker-cilium-image # cilium-agent make docker-operator-generic-image # operator generic 变体 make docker-operator-aws-image # operator AWS 变体 make docker-hubble-relay-image # hubble-relay make docker-clustermesh-apiserver-image # clustermesh-apiserver
⚡ 对于本地开发测试(推荐):
如果你使用 kind 进行本地测试,可以直接构建并导入到 kind:
make kind-image # 构建 cilium + operator 并导入 kind make kind-image-fast # 快速构建并复制到 kind nodes(无需重新构建镜像)
🔍 查看当前 Docker Builder 信息:
make builder-info
📝 验证编译是否成功:
查看构建的镜像
docker images | grep cilium