1.5 Years of Cilium Usage at DigitalOcean
234.36 KB
7 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
英语 | .pdf | 3 |
摘要 | ||
本文档详细介绍了DigitalOcean在使用Cilium的经历。DigitalOcean从2018年开始将Kubernetes服务(DOKS)从Flannel迁移至Cilium,原因是Cilium支持NetworkPolicies、功能丰富的CNI实现、活跃的维护和健康的社区。目前,所有约10000个DOKS集群均运行在Cilium上。Cilium在DOKS中的应用包括网络策略的使用,如限制应用程序之间的连通性、 ingress和egress的限制,以及与管理服务和DNS的连通性。文档还提到Cilium的升级过程相对顺利,但未来仍面临一些挑战,如从VXLAN迁移到直接路由以及使用eBPF替代kube-proxy。 | ||
AI总结 | ||
# DigitalOcean 使用 Cilium 的经验总结
## 1. 迁移背景
- **初始选择**:DigitalOcean Kubernetes 服务(DOKS)最初使用 Flannel。
- **迁移原因**:
- 支持 NetworkPolicies。
- 功能丰富的 CNI 实现。
- 项目活跃,社区健康且支持良好。
- **现状**:目前所有约 10000 个 DOKS 集群均运行在 Cilium 上。
## 2. 使用情况
- **整体体验**:
- 维护相对简单。
- 约 3.5% 的集群直接使用 Cilium NetworkPolicies。
- **升级**:
- 从 Cilium 1.4 平滑升级至 1.8。
- 升级过程中保留旧的 RBAC 规则以避免服务中断。
- **工具**:
- 健康检查工具(如 readiness probes、cilium status)在故障排查中非常有用。
## 3. App Platform 的应用
- **简介**:基于 DOKS 的多租户 PaaS,提供隔离环境。
- **Cilium 的使用**:
- 限制同一客户应用间的连接,跨客户默认拒绝。
- 控制 ingress(Envoy)和 egress(公共互联网,SMTP 例外)。
- 允许连接到 DNS 和内部管理服务。
- **未来需求**:
- 支持端口范围。
- 流量整形(目前使用 iptables)。
- 跟踪特定 TCP 状态(如 SYN/FIN)。
## 4. 架构
- **控制平面**:
- cilium-agent 运行在控制平面和每个工作节点。
- cilium-operator 作为 Deployment(2 副本,高可用)。
- **数据平面**:
- 使用 eBPF 替代 kube-proxy。
- 状态存储于集群的 etcd 中。
## 5. 未来计划
- **网络优化**:从 VXLAN 迁移到直接路由。
- **新技术**:探索 Hubble 的更多功能,用于流量分析和连接跟踪。
## 6. 总结
- Cilium 提供了稳定、灵活且易于维护的网络解决方案。
- DigitalOcean 计划进一步优化网络架构,利用 Cilium 的功能提升服务性能和用户体验。 |
来源 | ebpf.io |
---|
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
文档评分