cilium 部署组件架构

19 阅读1分钟

让我用架构图说明:

  ┌─────────────────────────────────────────────────────────────┐
  │                    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

示例输出:

cilium/cilium latest ...

cilium/operator latest ...

cilium/operator-generic latest ...

cilium/hubble-relay latest ...

cilium/clustermesh-apiserver latest ...