Calico 以扁平三层网络和高性能安全策略著称,是云原生环境下容器网络与安全治理的主流方案,兼具可扩展性与易用性。
Calico 创建和管理一个扁平的三层网络(无需 overlay),每个容器分配可路由 IP,通信无需封包解包,性能损耗小,易排查,便于扩展。
主要特性包括:
小规模可用 BGP client 直连,大规模可用 BGP Route Reflector,所有流量均基于 IP 路由互联。
Calico 采用分布式架构,由多个组件协同工作,部分组件为可选。
{width=2580 height=1738}
Felix 是 Calico 的核心代理,以 DaemonSet 运行于每个节点,负责接口管理、路由编程、安全策略执行和状态上报。
提供 Kubernetes 原生 API 接口,支持 kubectl 管理 Calico 资源,集成 RBAC 和审计。
BGP Internet Routing Daemon (BIRD) 负责路由发现与分发,节点间通过 BGP 协议同步路由。
Typha 是可选扩展组件,适用于大规模集群,代理 Felix 与数据存储连接,优化性能。
实现容器网络接口规范,负责 IP 分配、网络接口配置和路由设置。
负责 IP 池管理、地址分配与回收。
监控 Kubernetes API 变化,执行策略、命名空间、节点、端点等控制逻辑。
轻量级配置管理工具,自动同步和更新 BIRD 配置。
Calico 支持两种数据存储方式:
| 存储方式 | 优势与适用场景 |
|---|---|
| Kubernetes API Datastore | 简化管理、集成 RBAC、审计,适合 Kubernetes 环境 |
| etcd | 跨平台、关注点分离、混合多集群/裸机场景 |
服务网格策略执行组件,支持七层策略、Istio 集成和加密认证。
命令行管理工具,支持资源管理、故障诊断和配置导入导出。
Calico 支持多种高性能数据平面,适应不同场景需求。
Calico 提供强大的网络安全策略能力,兼容原生 NetworkPolicy 并支持扩展策略。
Calico 支持多种 BGP 网络模式和网络拓扑,适应不同规模和架构需求。
Calico 以高性能、扁平三层网络和灵活安全策略,成为云原生网络与安全的主流方案。其分布式架构、丰富的数据平面和策略能力,适用于多种规模和平台的 Kubernetes 集群。建议结合实际业务需求,合理选择架构和策略,充分发挥 Calico 的优势。