Cilium[1]通过使用 eBPF 充当 Kubernetes 的 CNI 和增强的网络层,为云原生环境提供网络、安全性和可观察性。
“Cilium 和 eBPF 正在改变网络和安全格局,目前大多数大型云服务提供商都依赖于 Cilium。”Cilium 联合创始人 Thomas Graf 表示:“跨金融服务、云计算、超规模计算和企业使用 Cilium 是为了其深度安全性、性能、可扩展性和可观察性。随着项目的进一步发展,CNCF 将成为 Cilium 及其整个社区的理想家园。”
Cilium 被 Adobe、Capital One、Cognite、Datadog、GitLab、Palantir、SAP Concur、Telenor、Trip.com、Wildlife Studios、Yahoo 等组织[2]在 Kubernetes 生态系统中使用。此外,阿里巴巴、AWS、DigitalOcean 和谷歌云等云服务提供商使用 Cilium 作为托管云和 Kubernetes 本地平台的首选 CNI 插件。Cilium 与 Envoy 和 Prometheus 紧密集成,提供基于 Go 的扩展框架。
“Cilium 是 Datadog 网络堆栈的重要组成部分,因为得益于 eBPF,它可以在云供应商之间提供一致的 Kubernetes 网络,以及性能和安全的通信。”Datadog 的工程师 Laurent Bernaille 表示。
“Cilium 将 eBPF 的力量带到 Kubernetes 的世界。这使得 GKE 能够为其客户提供更大的数据路径的可观察性、安全性、灵活性和效率,”谷歌高级软件工程师 Weilong Cui 说。
主要组件:
Cilium 项目由多个组件和层组成,这些组件和层可以相互独立使用。这允许用户选择特定的功能,或者将 Cilium 与其他 CNI 结合运行。
- 代理:代理在所有 Kubernetes 工作节点和承载工作负载的其他服务器上运行。它提供了核心 eBPF 平台,是所有其他 Cilium 组件的基础。
- 网络插件(CNI):CNI 插件使组织能够使用 Cilium 为 Kubernetes 集群和其他依赖 CNI 规范的编配系统提供网络连接。
- Hubble:Hubble 是 Cilium 的可观测部分。它提供网络和安全日志、指标、跟踪数据和几个图形用户界面。
- ClusterMesh:ClusterMesh 实现了一个网络或服务网格,它可以跨越多个集群和运行在外部虚拟机或裸金属服务器上的外部工作负载。它提供跨集群和工作负载的连接性、服务发现、网络安全性和可观察性。
- 负载均衡器:负载均衡器可以在集群中运行,实现 Kubernetes 服务,也可以在 Kubernetes 集群前独立运行,提供南北负载均衡。
显著的里程碑:
- 超过 9K 个 GitHub 星星
- 超过 12K 个拉请求
- 342 位 GitHub 贡献者
- 超过 365 个发布
- 超过 8.3K 位 Slack 成员
“eBPF 允许内核中的程序在不需要内核模块或修改的情况下运行。”CNCF 的 CTO Chris Aniszczyk 说:“它使新一代软件能够扩展内核的行为。在 Cilium 的情况下,它无需用 sidecar 而提供了高性能网络,高级负载平衡等等。我们很高兴欢迎更多基于 eBPF 的项目进入云原生生态系统,并期待 Cilium 帮助 eBPF 生态系统发展。”
作为 CNCF 孵化项目,Cilium 已经规划了完整的路线图,并正在积极添加新的功能和特性。该团队将在现有 Envoy Proxy 集成的基础上增加新的服务网格功能,包括对 OpenTelemetry 项目和 L7 负载平衡控制的支持。它们还将包含用于本地部署的其他特性,包括高级 IPAM 模式、多宿主、服务更改和对外部工作负载的增强支持。最后,该团队将通过添加进一步的身份集成、更深入的工作负载可见性以及继续关注基于身份的实施来重点发展安全功能。
作为 CNCF 托管的项目,加入了孵化技术 Argo、Buildpacks、CloudEvents、CNI、Contour、Cortex、CRI-O、Crossplane、Dragonfly、emissary-ingress、Falco、Flux、gRPC、KEDA、KubeEdge、NATS、Notary,OpenTelemetry、Operator Framework、Rook、SPIFFE、SPIRE 和 Thanos,Cilium 是一个中立基金会的一部分,与它的技术兴趣和更大的 Linux 基金会保持一致,后者提供治理、营销支持和社区扩展。有关每个级别的成熟度要求的更多信息,请访问CNCF 毕业标准[3]。
参考资料
[1]
Cilium: https://cilium.io/
[2]
组织: https://github.com/cilium/cilium/blob/master/USERS.md
[3]
CNCF 毕业标准: https://github.com/cncf/toc/blob/master/process/graduation_criteria.adoc