更新时间:2024-03-04 GMT+08:00
分享

Cilium概述

为什么需要Cilium

Cilium是一种高性能、高可靠性的容器网络解决方案,它通过eBPF技术在Linux内核层面实现网络和安全通信。它支持多种传输层协议,例如TCP、UDP和HTTP,并提供了多种安全特性,例如应用层访问控制和服务网格支持。Cilium还支持Kubernetes网络策略,并提供了全局网络和服务发现功能,能够帮助管理员更好地管理和部署云原生应用和服务。

Cilium的eBPF 技术通过在Linux内核层面实时监控网络流量,实现了高效的安全数据包交换。该技术在网络功能虚拟化、容器网络和边缘计算等场景中都有广泛应用,能够帮助企业提升网络性能和安全性,为云原生应用提供更好的基础设施支持。

基本功能

  • 为容器提供网络互通:Cilium通过为每个容器分配一个独特的IP地址来实现容器间的网络互通,同时支持多种网络协议。
  • 具备网络安全检测能力:Cilium支持通过集成第三方的网络安全检测服务,如Snort等,来进行网络流量分析和检测。
  • 自动进行容器安全策略管理:Cilium通过基于Kubernetes 的自定义资源定义(CRD)机制,为每个容器自动创建安全策略,保障容器的安全。
  • 实现容器级别的负载均衡:Cilium支持实现容器级别的负载均衡,允许通过多种负载均衡算法来分配网络请求流量。
  • 提供服务发现功能:Cilium支持借助基于Kubernetes的服务探测机制,自动发现容器内的服务,并将其注册到Kubernetes API中,以便于其他容器访问。

约束与限制

本章节仅适用于新安装的本地集群的增量功能,不支持存量本地集群升级该功能。

Cilium underlay能力

在本地集群配置文件“cluster-[集群名称].yaml”中添加以下配置:

CILIUM_NETWORK_MODE: underlay

例图:

模式优势:

  • 此模式下,Cilium会将所有未发送到其他容器的数据包委托给Linux内核的路由子系统。这意味着数据包将被路由直接转发,就好像本地进程发出数据包一样,减少了数据包的封装和转换。因此,在大流量场景下,该模式存在一定性能优势。
  • 该模式下自动配置ipv4-native-routing-cidr,Cilium会在Linux内核中自动启用IP转发。

模式依赖:

在underlay模式下,运行Cilium的主机的网络必须能够使用分配给Pod或其他工作负载的地址转发IP流量,需要关闭节点的源目的地址检查,并且节点安全组按需放通容器网段的端口及协议。

Cilium对接主机BGP

在页面提供的本地集群配置文件“cluster-[集群名称].yaml”中添加以下配置:

CILIUM_BGP_ENABLE: true
CILIUM_BGP_PEER_ADDRESS: 需要对接的交换机地址。
CILIUM_BGP_PEER_ASN: 需要对接的交换机BGP AS number(64512-65535)。
LOAD_BALANCER_CIDR:需要广播出去的负载均衡网段,可提供给metalLB等开源插件使用。

例图:

将需要对外暴露容器网络的节点IP,作为neighbor address(交换机邻居地址)配置在主机所在的BGP网络中,容器的ASN默认为65010。

Cilium的BGP能力是以节点粒度对外宣告节点容器路由,实现集群外节点服务直接访问集群内Pod。

分享:

    相关文档

    相关产品