
如果你使用 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是开源软件,用于提供和透明地保护应用工作负载(如应用容器或进程)之间的网络连接和负载均衡。它在第3/4层提供传统网络和安全服务,并在第7层保护现代应用协议(如HTTP、gRPC和Kafka)。Cilium集成到Kubernetes和Mesos等常见编排框架中。其基础是名为eBPF的新型Linux内核技术,支持在网络IO、应用套接字和跟踪点等集成点动态插入eBPF字节码,以实现安全、网络和可见性逻辑。
Cilium社区为最新的三个主要版本维护次要稳定版本。更早的稳定版本被视为EOL(生命周期结束)。升级到新的主要版本请参考https://docs.cilium.io/en/stable/install/upgrade/%E3%80%82
以下是当前维护的发布分支及其最新次要版本、对应的镜像拉取标签和发布说明:
| 版本分支 | 发布日期 | 镜像标签 | 发布说明 | 公告 |
|---|---|---|---|---|
| https://github.com/cilium/cilium/tree/v1.8 | 2020-09-30 | docker.io/cilium/cilium:v1.8.4 | https://github.com/cilium/cilium/releases/tag/v1.8.4 | https://cilium.io/blog/2020/06/22/cilium-18 |
| https://github.com/cilium/cilium/tree/v1.7 | 2020-09-30 | docker.io/cilium/cilium:v1.7.10 | https://github.com/cilium/cilium/releases/tag/v1.7.10 | https://cilium.io/blog/2020/02/18/cilium-17 |
| https://github.com/cilium/cilium/tree/v1.6 | 2020-09-30 | docker.io/cilium/cilium:v1.6.12 | https://github.com/cilium/cilium/releases/tag/v1.6.12 | https://cilium.io/blog/2019/08/20/cilium-16 |
能够保护现代应用协议,如REST/HTTP、gRPC和Kafka。传统防火墙在第3层和第4层运行,特定端口上的协议要么完全受信任,要么被完全阻止。Cilium能够基于单个应用协议请求进行过滤,例如:
GET且路径为/public/.*的HTTP请求,拒绝所有其他请求。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支持的所有封装格式。
原生路由(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下的锁定。
获得可见性和排除问题的能力是任何分布式系统运行的基础。Cilium提供的故障排除工具包括:
.. _Hubble: https://github.com/cilium/hubble/
.. _CNI: https://github.com/containernetworking/cni .. _libnetwork: https://github.com/docker/libnetwork .. _containerd: https://github.com/containerd/containerd .. _Service: https://kubernetes.io/docs/concepts/services-networking/service/ .. _Ingress: https://kubernetes.io/docs/concepts/services-networking/ingress/ .. _NetworkPolicy: https://kubernetes.io/docs/concepts/services-networking/network-policies/ .. _Labels: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/
Berkeley Packet Filter(BPF)是Linux内核字节码解释器,最初用于过滤网络数据包(如tcpdump和套接字过滤器)。BPF指令集和架构经过重大改进,增加了哈希表和数组等数据结构,支持数据包修改、转发等操作。LLVM编译器后端允许用C编写程序并编译为BPF指令,内核验证器确保安全运行,JIT编译器实现原生执行效率。BPF程序可在kernel的网络数据包、系统调用等挂钩点运行。
Cilium需要Linux内核4.8.0或更高版本的BPF功能。许多Linux发行版(如CoreOS、Debian、Ubuntu)已提供≥4.8.x内核版本,可通过uname -a检查内核版本。
XDP允许从网络驱动程序运行特定类型的BPF程序,直接访问数据包的DMA缓冲区,是软件栈中最早的可编程数据包处理点。
有关BPF和XDP的更多信息,请参见http://docs.cilium.io/en/stable/bpf/%E3%80%82
加入Cilium https://cilium.herokuapp.com/%EF%BC%8C%E4%B8%8E%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%EF%BC%8C%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%E3%80%82
参见https://docs.cilium.io/en/stable/community/#special-interest-groups%E4%BA%86%E8%A7%A3%E6%89%80%E6%9C%89SIG%E5%8F%8A%E5%85%B6%E4%BC%9A%E8%AE%AE%E6%97%B6%E9%97%B4%E3%80%82
Cilium用户空间组件采用Apache许可证2.0授权。BPF代码模板采用GNU通用公共许可证2.0授权。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务