
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Cilium是开源软件,用于提供和透明地保护应用工作负载(如应用容器或进程)之间的网络连接和负载均衡。Cilium在第3/4层提供传统网络和安全服务,并在第7层保护现代应用协议(如HTTP、gRPC和Kafka)。它集成到Kubernetes和Mesos等常见编排框架中。
Cilium的基础是名为eBPF的新型Linux内核技术,支持在网络IO、应用套接字和跟踪点等各种集成点动态插入eBPF字节码,以实现安全、网络和可见性逻辑。eBPF高效且灵活,更多信息可访问eBPF.io。
Cilium社区为最近三个主要版本维护次要稳定版本。更早的主要版本的稳定版本被视为EOL(生命周期结束)。
升级到新的主要版本请参考https://docs.cilium.io/en/stable/operations/upgrade/%E3%80%82
以下是当前维护的发布分支及其最新次要版本、对应的镜像拉取标签和发布说明:
| 版本分支 | 发布日期 | 镜像标签 | 发布说明 | 公告 |
|---|---|---|---|---|
| https://github.com/cilium/cilium/tree/v1.9 | 2021-01-22 | docker.io/cilium/cilium:v1.9.3 | https://github.com/cilium/cilium/releases/tag/v1.9.3 | https://cilium.io/blog/2020/11/10/cilium-19 |
| https://github.com/cilium/cilium/tree/v1.8 | 2020-12-04 | docker.io/cilium/cilium:v1.8.6 | https://github.com/cilium/cilium/releases/tag/v1.8.6 | https://cilium.io/blog/2020/06/22/cilium-18 |
| https://github.com/cilium/cilium/tree/v1.7 | 2021-01-27 | docker.io/cilium/cilium:v1.7.13 | https://github.com/cilium/cilium/releases/tag/v1.7.13 | https://cilium.io/blog/2020/02/18/cilium-17 |
能够保护现代应用协议,如REST/HTTP、gRPC和Kafka。传统防火墙在第3层和第4层运行,特定端口上的协议要么完全受信任,要么被完全阻止。Cilium能够对单个应用协议请求进行过滤,例如:
GET且路径为/public/.*的请求,拒绝其他所有请求。service1在Kafka主题topic1上生产消息,service2在topic1上消费消息,拒绝其他所有Kafka消息。X-Token: [0-9]+。有关支持的协议和使用示例的最新列表,请参见文档中的http://docs.cilium.io/en/stable/policy/#layer-7%E9%83%A8%E5%88%86%E3%80%82
现代分布式应用依赖应用容器等技术来促进部署灵活性和按需扩展。这导致在短时间内启动大量应用容器。典型的容器防火墙通过过滤源IP地址和目标端口来保护工作负载。这种概念要求每当集群中任何地方启动容器时,所有服务器上的防火墙都要进行操作。
为避免这种限制规模的情况,Cilium为共享相同安全策略的应用容器组分配安全身份。然后,该身份与应用容器发出的所有网络数据包相关联,允许在接收节点验证身份。安全身份管理使用键值存储执行。
基于标签的安全是集群内部访问控制的首选工具。为了保护与外部服务的进出访问,支持传统的基于CIDR的入口和出口安全策略。这允许限制应用容器与特定IP范围的进出访问。
一个简单的平面第3层网络,能够跨多个集群连接所有应用容器。通过使用主机范围分配器,IP分配保持简单,这意味着每个主机可以分配IP而无需主机之间的协调。
支持以下多节点网络模型:
覆盖网络(Overlay): 基于封装的虚拟网络,跨所有主机。目前内置支持VXLAN和Geneve,但可以启用Linux支持的所有封装格式。
使用场景:此模式对基础设施和集成要求最低。几乎可以在任何网络基础设施上工作,唯一的要求是主机之间的IP连接,这通常已经满足。
原生路由(Native Routing): 使用Linux主机的常规路由表。网络需要能够路由应用容器的IP地址。
使用场景:此模式适用于高级用户,需要了解底层网络基础设施。此模式适用于:
Cilium为应用容器之间以及与外部服务的流量实现分布式负载均衡,能够完全替代kube-proxy等组件。负载均衡在eBPF中使用高效哈希表实现,几乎可以无限扩展。
对于南北向负载均衡,Cilium的eBPF实现针对最大性能进行了优化,可以附加到XDP(快速数据路径),并支持直接服务器返回(DSR)以及Maglev一致性哈希(如果负载均衡操作不在源主机上执行)。
对于东西向负载均衡,Cilium在Linux内核的套接字层(例如TCP连接时)执行高效的服务到后端转换,从而可以避免较低层的每数据包NAT操作开销。
Cilium通过基于EDT(最早Departure时间)的高效速率限制,使用eBPF为离开节点的容器流量实现带宽管理。与带宽CNI插件中使用的传统方法(如HTB(层次令牌桶)或TBF(令牌桶过滤器))相比,这可以显著减少应用的传输尾部延迟,并避免多队列NIC下的锁定。
获得可见性和排除问题的能力是任何分布式系统运行的基础。尽管我们喜欢tcpdump和ping等工具,但我们努力提供更好的故障排除工具。这包括提供以下功能的工具:
Berkeley Packet Filter(BPF)是Linux内核字节码解释器,最初用于过滤网络数据包,例如tcpdump和套接字过滤器。BPF指令集和周围架构最近经过了重大改进,增加了哈希表和数组等数据结构以保持状态,以及支持数据包修改、转发、封装等附加操作。此外,LLVM的编译器后端允许用C编写程序并编译为BPF指令。内核验证器确保BPF程序可以安全运行,JIT编译器将BPF字节码转换为特定CPU架构的指令以实现本地执行效率。BPF程序可以在kernel的各种挂钩点运行,例如入站数据包、出站数据包、系统调用、kprobes、uprobes、跟踪点等。
BPF随着每个新的Linux版本不断发展并获得更多功能。Cilium利用BPF执行核心数据路径过滤、修改、监控和重定向,需要Linux内核4.8.0或更高版本中的BPF功能。
许多Linux发行版包括CoreOS、Debian、Docker的LinuxKit、Fedora、openSUSE和Ubuntu已经发布了>=4.8.x的内核版本。可以通过运行uname -a检查Linux内核版本。如果尚未运行足够新的内核,请查看Linux发行版的文档,了解如何运行Linux内核4.9.x或更高版本。
有关运行BPF运行时所需的内核版本,请参见http://docs.cilium.io/en/stable/operations/system_requirements%E9%83%A8%E5%88%86%E3%80%82
XDP是进一步的演进步骤,允许从网络驱动程序运行特定类型的BPF程序,直接访问数据包的DMA缓冲区。根据定义,这是软件栈中最早可能的点,可以附加程序以允许在Linux内核网络数据路径中实现可编程的高性能数据包处理器。
有关面向开发人员的BPF和XDP的更多信息,请参见http://docs.cilium.io/en/stable/bpf/%E3%80%82
加入Cilium https://cilium.herokuapp.com/%EF%BC%8C%E4%B8%8ECilium%E5%BC%80%E5%8F%91%E4%BA%BA%E5%91%98%E5%92%8C%E5%85%B6%E4%BB%96Cilium%E7%94%A8%E6%88%B7%E8%81%8A%E5%A4%A9%E3%80%82%E8%BF%99%E6%98%AF%E4%BA%86%E8%A7%A3Cilium%E3%80%81%E6%8F%90%E9%97%AE%E5%92%8C%E5%88%86%E4%BA%AB%E7%BB%8F%E9%AA%8C%E7%9A%84%E5%A5%BD%E5%9C%B0%E6%96%B9%E3%80%82
有关所有SIG及其会议时间的列表,请参见https://docs.cilium.io/en/stable/community/#special-interest-groups%E3%80%82
Cilium用户空间组件根据Apache License, Version 2.0许可。BPF代码模板根据General Public License, Version 2.0许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务