.. raw:: html
<picture> <source media="(prefers-color-scheme: light)" srcset="https://cdn.jsdelivr.net/gh/cilium/cilium@main/Documentation/images/logo.png" width="350" alt="Cilium 标志"> <img src="https://yellow-cdn.veclightyear.com/2b54e442/0d75f69e-9f9d-4553-b9ce-4dca8a5defda.png" width="350" alt="Cilium 标志"> </picture>|cii| |go-report| |clomonitor| |artifacthub| |slack| |go-doc| |rtd| |apache| |bsd| |gpl| |fossa| |gateway-api| |codespaces|
Cilium 是一个基于 eBPF 数据平面的网络、可观测性和安全解决方案。它提供了一个简单的扁平化三层网络,能够以原生路由或覆盖模式跨越多个集群。它能感知 L7 协议,并可使用与网络寻址解耦的基于身份的安全模型在 L3-L7 层强制执行网络策略。
Cilium 实现了 pod 之间以及到外部服务的分布式负载均衡,能够完全替代 kube-proxy,使用 eBPF 中的高效哈希表实现几乎无限的扩展。它还支持集成入口和出口网关、带宽管理和服务网格等高级功能,并提供深度网络和安全可视性与监控。
一种名为 eBPF_ 的新型 Linux 内核技术是 Cilium 的基础。它支持在各种集成点动态插入 eBPF 字节码到 Linux 内核中,如网络 IO、应用程序套接字和跟踪点,以实现安全、网络和可视化逻辑。eBPF 高效灵活。要了解更多关于 eBPF 的信息,请访问 eBPF.io
_。
.. image:: Documentation/images/cilium-overview.png :alt: Cilium 网络、可观测性、服务网格和运行时安全特性概览
Cilium 社区维护最近三个次要版本的 Cilium。更早的 Cilium 稳定版本被视为生命周期结束(EOL)。
对于升级到新的次要版本,请参考 Cilium 升级指南
_。
以下列出了当前积极维护的发布分支及其最新补丁版本、相应的镜像拉 取标签和发布说明:
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.16 <https://github.com/cilium/cilium/tree/v1.16>
__ | 2024-07-24 | quay.io/cilium/cilium:v1.16.0
| 发布说明 <https://github.com/cilium/cilium/releases/tag/v1.16.0>
__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.15 <https://github.com/cilium/cilium/tree/v1.15>
__ | 2024-07-11 | quay.io/cilium/cilium:v1.15.7
| 发布说明 <https://github.com/cilium/cilium/releases/tag/v1.15.7>
__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
| v1.14 <https://github.com/cilium/cilium/tree/v1.14>
__ | 2024-07-11 | quay.io/cilium/cilium:v1.14.13
| 发布说明 <https://github.com/cilium/cilium/releases/tag/v1.14.13>
__ |
+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+
Cilium 镜像适用于 AMD64 和 AArch64 架构。
从 Cilium 1.13.0 版本开始,所有镜像都包含软件物料清单(SBOM)。SBOM 以 SPDX
_ 格式生成。更多相关信息可在 Cilium SBOM
_ 中找到。
.. _SPDX
: https://spdx.dev/
.. _Cilium SBOM
: https://docs.cilium.io/en/latest/configuration/sbom/
出于开发和测试目的,Cilium 社区发布快照、早期候选版本(RC)和从 main 分支 <https://github.com/cilium/cilium/commits/main>
_ 构建的 CI 容器镜像。这些镜像不适用于生产环境。
要测试升级到新的开发版本,请参考 Cilium 升级指南
_ 的最新开发版本。
以下列出了用于测试的分支及其快照或 RC 版本、相应的镜像拉取标签和发布说明(如适用):
+--------------------------------------------------------------------------------------+------------+----------------------------------------------+-------------------------------------------------------------------------------------------+
| main <https://github.com/cilium/cilium/commits/main>
__ | 每日 | quay.io/cilium/cilium-ci:latest
| N/A |
+--------------------------------------------------------------------------------------+------------+----------------------------------------------+-------------------------------------------------------------------------------------------+
| v1.16.0-rc.2 <https://github.com/cilium/cilium/commits/v1.16.0-rc.2>
__ | 2024-07-15 | quay.io/cilium/cilium:v1.16.0-rc.2
| 候选版本说明 <https://github.com/cilium/cilium/releases/tag/v1.16.0-rc.2>
__ |
+--------------------------------------------------------------------------------------+------------+----------------------------------------------+-------------------------------------------------------------------------------------------+
.. begin-functionality-overview
能够保护现代应用程序协议,如 REST/HTTP、gRPC 和 Kafka。传统防火墙在第 3 层和第 4 层运行。运行在特定端口上的协议要么完全受信任,要么被完全阻止。Cilium 提供了过滤单个 应用程序协议请求的能力,例如:
GET
和路径 /public/.*
的 HTTP 请求。拒绝所有其他请求。service1
在 Kafka 主题 topic1
上生产,允许 service2
在 topic1
上消费。拒绝所有其他 Kafka 消息。X-Token: [0-9]+
。有关支持的协议和使用示例的最新列表,请参阅我们文档中的 第 7 层策略
_ 部分。
现代分布式应用程序依赖于应用程序容器等技术来促进部署的灵活性和按需扩展。这导致在短时间内启动大量应用程序容器。典型的容器防火墙通过过滤源 IP 地址和目标端口来保护工作负载。这个概念要求每当集群中的任何地方启动容器时,都要操作所有服务器上的防火墙。
为了避免这种限制扩展的情况,Cilium 为共享相同安全策略的应用程序容器组分配安全身份。然后,该身份与应用程序容器发出的所有网络数据包相关联,允许在接收节点验证身份。安全身份管理使用键值存储执行。
基于标签的安全是集群内部访问控制的首选工具。为了保护对外部服务的访问和从外部服务的访问,支持传统的基于 CIDR 的入站和出站安全策略。这允许限制应用程序容器对特定 IP 范围的访问。
一个简单的扁平化第 3 层网络,能够跨多个集群连接所有应用程序容器。通过使用主机范围分配器,IP 分配保持简单。这意味着每个主机可以分配 IP,而无需主机间的协调。
支持以下多节点网络模型:
覆盖: 基于封装的虚拟网络,跨越所有主机。目前,VXLAN 和 Geneve 是内置的,但支持 Linux 支持的所有封装格式。
何时使用此模式:此模式的基础设施和集成要求最少。它几乎可以在任何网络基础设施上工作,因为唯一的要求是主机之间的 IP 连接,这通常已经给定。
原生路由: 使用 Linux 主机的常规路由表。网络需要能够路由应用程序容器的 IP 地址。
何时使用此模式:此模式适用于高级用户,需要对底层网络基础设施有一定了解。此模式适用于:
Cilium 实现了应用程序容器之间和外部服务的分布式负载均衡,能够完全替代 kube-proxy 等组件。负载均衡在 eBPF 中使用高效的哈希表实现,允许几乎无限的扩展。
对于南北向负载均衡,Cilium 的 eBPF 实现针对最大性能进行了优化,可以附加到 XDP(eXpress Data Path),并支持直接服务器返回(DSR)以及 Maglev 一致性哈希(如果负载均衡操作不在源主机上执行)。
对于东西向负载均衡,Cilium 在 Linux 内核的套接字层(例如在 TCP 连接时)高效地执行服务到后端的转换,从而避免在较低层出现每个数据包 NAT 操作的开销。
Cilium 通过 eBPF 实现了基于高效 EDT(最早离开时间)的容器流量出口节点速率限制的带宽管理。与传统方法(如带宽 CNI 插件中使用的 HTB(分层令牌桶)或 TBF(令牌桶过滤器))相比,这允许显著减少应用程序的传输尾延迟,并避免在多队列网卡下的锁定。
获得可见性和排除问题的能力对于任何分布式系统的运行都是基本的。虽然我们学会了喜欢 tcpdump
和 ping
等工具,它们在我们心中永远有特殊的位置,但我们努力提供更好的故障排除工具。这包括提供以下工具:
带元数据的事件监控:当数据包被丢弃时,该工具不仅报告数据包的源 IP 和目标 IP,还提供发送方和接收方的完整标签信息以及许多其他信息。
通过 Prometheus 导出指标:关键指标通过 Prometheus 导出,以集成到您现有的仪表板中。
Hubble_:专门为 Cilium 编写的可观测性平台。它提供服务依赖图、运营监控和警报,以及基于流日志的应用程序和安全可见性。
.. _Hubble: https://github.com/cilium/hubble/
.. _第 7 层策略
: https://docs.cilium.io/en/stable/security/policy/language/#layer-7-examples
.. end-functionality-overview
为什么选择 Cilium?
_入门
_架构和概念
_安装 Cilium
_常见问题
_Berkeley Packet Filter (BPF) 是最初为过滤网络数据包而引入的 Linux 内核字节码解释器,例如用于 tcpdump 和套接字过滤器。BPF 指令集和周围架构最近经历了重大改造,增加了额外的数据结构(如哈希表和数组)用于保持状态,以及支持数据包操作、转发、封装等额外操作。此外,LLVM 的编译器后端允许用 C 编写程序并编译成 BPF 指令。内核中的验证器确保 BPF 程序可以安全运行,JIT 编译器将 BPF 字节码转换为特定 CPU 架构的指令以提高原生执行效率。BPF 程序可以在内核中的各种钩子点运行,如传入数据包、传出数据包、系统调用、kprobes、uprobes、tracepoints 等。
BPF 不断发展并随着每个新的 Linux 版本获得额外的功能。Cilium 利用 BPF 执行核心数据路径过滤、操作、监控和重定向,并需要 4.8.0 或更新版本的 Linux 内核中 的 BPF 功能(最新的当前稳定 Linux 内核是 4.14.x)。
许多 Linux 发行版(包括 CoreOS、Debian、Docker 的 LinuxKit、Fedora、openSUSE 和 Ubuntu)已经提供内核版本 >= 4.8.x。您可以通过运行 uname -a
来检查您的 Linux 内核版本。如果您还没有运行足够新的内核,请查看您的 Linux 发行版的文档,了解如何运行 Linux 内核 4.9.x 或更高版本。
要了解运行 BPF 运行时所需的必要内核版本,
请查看特别兴趣小组<https://docs.cilium.io/en/stable/community/community/#special-interest-groups>
_以获取所有SIG及其会议时间的列表。
Cilium开发者社区在Zoom上聚会聊天。欢迎所有人参加。
__(CET/CEST), 通常相当于太平洋时间上午8:00,或东部时间上午11:00。
加入Zoom`___(JST)。
加入Zoom`_我们每周都会在YouTube上举办一个名为eCHO的社区直播 <https://www.youtube.com/channel/UCJFUxkVQTBJh3LD1wYBWvuQ>
_,(非常松散地!)代表eBPF和Cilium办公时间。加入我们的直播,赶上过去的剧集,或前往eCHO仓库 <https://github.com/isovalent/eCHO>
_告诉我们你对我们应该涵盖的主题的想法。
Cilium项目由一群维护者和提交者 <https://raw.githubusercontent.com/cilium/cilium/main/MAINTAINERS.md>
__管理。
他们如何被选择和治理在我们的治理文档 <https://github.com/cilium/community/blob/main/GOVERNANCE.md>
__中有概述。
在生产中部署Cilium项目的采用者列表及其用例可以在USERS.md <https://github.com/cilium/cilium/blob/main/USERS.md>
__文件中找到。
Cilium维护一个公共路线图 <https://docs.cilium.io/en/latest/community/roadmap/>
__。它提供了项目主要优先事项、不同功能和项目的成熟度以及如何影响项目方向的高级视图。
.. _apache-license: LICENSE .. _bsd-license: bpf/LICENSE.BSD-2-Clause .. _gpl-license: bpf/LICENSE.GPL-2.0
Cilium用户空间组件采用Apache许可证,版本2.0 <apache-license_>
授权。
BPF代码模板采用双重许可,包括
通用公共许可证,版本2.0(仅限) <gpl-license_>
和2条款BSD许可证 <bsd-license_>
__
(您可以选择使用其中任一许可证的条款)。
.. _Cilium升级指南
: https://docs.cilium.io/en/stable/operations/upgrade/
.. _为什么选择Cilium?
: https://docs.cilium.io/en/stable/overview/intro
.. _入门
: https://docs.cilium.io/en/stable/#getting-started
.. _架构和概念
: https://docs.cilium.io/en/stable/overview/component-overview/
.. _安装Cilium
: https://docs.cilium.io/en/stable/gettingstarted/k8s-install-default/
.. _常见问题
: https://github.com/cilium/cilium/issues?utf8=%E2%9C%93&q=is%3Aissue+label%3Akind%2Fquestion+
.. _贡献: https://docs.cilium.io/en/stable/contributing/development/
.. _先决条件: https://docs.cilium.io/en/stable/operations/system_requirements/
.. _BPF和XDP参考指南
: https://docs.cilium.io/en/stable/bpf/
.. _eBPF
: https://ebpf.io
.. _eBPF.io
: https://ebpf.io
.. _加入Zoom
: https://zoom.us/j/596609673
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号