
如果你使用 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是一款开源软件,旨在为应用工作负载(如应用容器或进程)提供网络连接和负载均衡,并透明地保障其安全性。它在网络层(L3/4)提供传统网络和安全服务,同时在应用层(L7)保护现代应用协议(如HTTP、gRPC和Kafka)。Cilium已集成到Kubernetes、Mesos等常见编排框架中。
Cilium的核心基础是名为BPF的新型Linux内核技术,支持在网络IO、应用套接字、跟踪点等多个集成点动态插入BPF字节码,以实现安全、网络和可见性逻辑。BPF具有高效和灵活的特性。
能够保护REST/HTTP、gRPC和Kafka等现代应用协议。传统防火墙在L3/4运行,特定端口上的协议要么完全受信任,要么被完全阻止。Cilium允许对单个应用协议请求进行过滤,例如:
GET且路径为/public/.*的HTTP请求,拒绝其他所有请求。service1在Kafka主题topic1上生产消息,service2在topic1上消费消息,拒绝其他所有Kafka消息。X-Token: [0-9]+。现代分布式应用依赖应用容器等技术实现部署敏捷性和按需扩展,导致短时间内启动大量应用容器。典型的容器防火墙通过过滤源IP地址和目标端口来保护工作负载,这需要在集群中任何地方启动容器时都操作所有服务器上的防火墙,限制了扩展性。
为避免这种情况,Cilium为共享相同安全策略的应用容器组分配安全身份,该身份与应用容器发出的所有网络数据包相关联,允许在接收节点验证身份。安全身份管理通过键值存储执行。
基于标签的安全是集群内部访问控制的首选工具。为保护与外部服务的进出访问,支持传统的基于CIDR的入口和出口安全策略,允许将应用容器的进出访问限制在特定IP范围。
一个简单的扁平L3网络,能够跨多个集群连接所有应用容器。通过使用主机范围分配器简化IP分配,意味着每个主机可以分配IP而无需主机间协调。
支持以下多节点网络模型:
为应用容器之间以及到外部服务的流量提供分布式负载均衡。负载均衡使用BPF通过高效哈希表实现,支持几乎无限扩展,且如果负载均衡操作不在源主机上执行,支持直接服务器返回(DSR)。注意:负载均衡需要启用连接跟踪,这是默认设置。
获取可见性和排除问题的能力是任何分布式系统运行的基础。Cilium提供以下工具:
Cilium适用于需要在容器化或微服务环境中实现网络连接、安全防护和负载均衡的场景,特别是:
uname -a检查内核版本Kubernetes环境部署
Cilium通常作为Kubernetes网络插件部署,推荐使用Helm:
bash# 添加Cilium Helm仓库 helm repo add cilium https://helm.cilium.io/ # 安装Cilium helm install cilium cilium/cilium --version 1.14.0 --namespace kube-system
手动部署(Docker)
bash# 运行Cilium容器 docker run -d --name cilium \ --privileged \ --net=host \ --restart=always \ -v /var/run/cilium:/var/run/cilium \ -v /lib/modules:/lib/modules \ -v /sys/fs/bpf:/sys/fs/bpf \ docker.xuanyuan.run/cilium/cilium:latest
Cilium的主要配置通过环境变量或配置文件进行,关键配置参数包括:
CILIUM_CLUSTER_NAME:集群名称,用于标识Cilium集群CILIUM_K8S_API_SERVER:Kubernetes API服务器地址CILIUM_IPAM_MODE:IP地址分配模式(如host-scope、kubernetes)CILIUM_TUNNEL:隧道模式(如vxlan、geneve或disabled表示原生路由)详细配置可参考http://docs.cilium.io/en/stable/install/configuration/%E3%80%82
Berkeley Packet Filter(BPF)是Linux内核字节码解释器,最初用于过滤网络数据包(如tcpdump和套接字过滤器)。BPF指令集和架构最近经过重大改进,增加了哈希表、数组等数据结构用于状态保持,以及数据包修改、转发、封装等操作。LLVM编译器后端允许用C编写程序并编译为BPF指令,内核验证器确保BPF程序安全运行,JIT编译器将BPF字节码转换为CPU架构特定指令以实现原生执行效率。BPF程序可在内核的多个挂钩点运行,如入站数据包、出站数据包、系统调用、kprobes、uprobes、跟踪点等。
Cilium利用BPF执行核心数据路径过滤、修改、监控和重定向,需要Linux内核4.8.0或更高版本的BPF功能。
XDP是进一步的演进,允许在网络驱动程序中运行特定类型的BPF程序,直接访问数据包的DMA缓冲区,是软件栈中最早可附加程序的点,实现Linux内核网络数据路径中的可编程高性能数据包处理。
加入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%96%E7%94%A8%E6%88%B7%E4%BA%A4%E6%B5%81%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许可。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务