1.5 Years of Cilium Usage at DigitalOcean
234.36 KB
7 页
0 下载
84 浏览
0 评论
0 收藏
所属分类:
系统运维 / Linux / eBPF
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
本文档详细介绍了DigitalOcean在1.5年内使用Cilium的经历。DigitalOcean Kubernetes Service(DOKS)最初使用Flannel,后于2018年底迁移到Cilium,原因包括支持NetworkPolicies、功能丰富的CNI实现、活跃维护和社区支持。目前,所有约10000个DOKS集群均运行在Cilium上。文档还介绍了Cilium在DigitalOcean App Platform中的应用,该平台基于DOKS构建,采用多租户架构,并使用CiliumNetworkPolicies来管理网络策略。Cilium的使用体验总体良好,维护相对容易,升级过程顺利。文档还描述了Cilium在DOKS架构中的具体实现,包括Cilium-Agent和Cilium-Operator的运行方式,以及使用共享集群etcd保存状态。未来计划包括从VXLAN迁移到直接路由,以及进一步研究Hubble。 | ||
| AI总结 | ||
### **DigitalOcean 使用 Cilium 的经验总结**
#### **背景与迁移**
- **DigitalOcean Kubernetes Service (DOKS)**:DigitalOcean 的托管 Kubernetes 服务。
- **从 Flannel 到 Cilium 的迁移**:
- 原因:Cilium 提供了更强大的网络策略支持、丰富的 CNI 实现、活跃的维护和健康的支持社区。
- 迁移成果:目前所有约 10000 个 DOKS 集群均基于 Cilium 运行,迁移过程实现了无中断。
#### **App Platform 的应用**
- **App Platform**:DigitalOcean 的“推送即部署”PaaS 服务,基于 DOKS 构建。
- **多租户隔离**:通过多种措施确保租户间的隔离。
- **Cilium 的应用**:
- 使用 `CiliumNetworkPolicies` 限制应用间的连通性(同一客户内部允许,否则拒绝)。
- 限制入站(使用 Envoy)和出站(仅限公共互联网,SMTP 等例外)流量。
- 允许与 DNS 和内部管理服务的连通性。
#### **Cilium 的表现**
- **总体体验**:
- 维护相对容易。
- 约 3.5% 的 DOKS 集群直接使用 `CiliumNetworkPolicies`。
- 升级过程平稳,健康检查工具(如 readiness probes 和 cilium status)在故障排除中非常有用。
- **架构**:
- `cilium-agent` 作为DaemonSet运行在每个工作节点。
- `cilium-operator` 作为 Deployment(2 个副本,高可用模式)运行。
- `cilium-agent` 在控制平面运行以实现控制平面与数据平面的连通性。
- 使用共享集群的 etcd 保存 Cilium 状态。
#### **未来计划**
- **迁移与优化**:
- 从 VXLAN 迁移到直接路由(利用下一代内部 VPC)。
- 使用 eBPF 替代 kube-proxy。
- **探索 Hubble**:进一步研究 Hubble 的使用。
#### **总结**
- Cilium 在 DigitalOcean 的生产环境中表现稳定,支持了其 Kubernetes 和 PaaS 服务的扩展。
- Cilium 的网络策略功能、活跃社区和良好的维护使其成为 DOKS 的核心组件。
- 未来计划进一步优化网络架构,探索更多 eBPF 和 Hubble 的应用场景。 | ||
| 来源 | ebpf.io | ||||
|---|---|---|---|---|---|
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
文档评分














Cilium v1.10 Documentation