Cilium 开源项目教程
项目介绍
Cilium 是一个基于 eBPF 的数据平面,提供网络、可观察性和安全性的解决方案。它为多集群提供了一个简单的扁平第 3 层网络。Cilium 支持多种架构,包括 x86_64 和 AArch64。从 Cilium 版本 1.13.0 开始,所有镜像都包含一个软件物料清单(SBOM),以 SPDX 格式生成。
项目快速启动
安装 Cilium CLI
首先,安装 Cilium CLI:
curl -L --remote-name https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gz
tar xzvf cilium-linux-amd64.tar.gz
sudo mv cilium /usr/local/bin/
部署 Cilium
在 Kubernetes 集群中部署 Cilium:
cilium install
验证安装
验证 Cilium 是否安装成功:
cilium status
应用案例和最佳实践
保护和安全 API
Cilium 能够透明地保护现代应用协议,如 REST/HTTP、gRPC 和 Kafka。传统的防火墙在第 3 层和第 4 层运行,而 Cilium 提供了对单个应用协议请求的过滤能力,例如:
- 允许所有 HTTP 请求使用方法 GET 和路径
/public/*
- 拒绝所有其他请求
- 允许
service1
在 Kafka 主题topic1
上生产,service2
在topic1
上消费 - 拒绝所有其他 Kafka 消息
最佳实践
- 使用 eBPF 进行高性能网络处理:利用 eBPF 在 Linux 内核网络数据路径中进行高性能的包处理。
- 集成 Kubernetes:Cilium 与 Kubernetes 紧密集成,提供原生的网络和安全策略。
典型生态项目
Hubble
Hubble 是 Cilium 的网络和安全可观察性平台,提供对网络流量和安全事件的深入洞察。
Istio
Istio 是一个服务网格,与 Cilium 结合使用可以提供更强大的网络和安全功能。
eBPF 和 XDP
eBPF 和 XDP 是 Cilium 的核心技术,提供了在 Linux 内核中进行高性能网络处理的能力。
通过这些模块,您可以快速了解和使用 Cilium 开源项目,并探索其在实际应用中的最佳实践和生态系统。