本期课堂由谐云研发工程师叶元鹏作为讲师,带来《Cilium 流量治理功能概述及部署实践》分享,围绕Cilium进行了详细介绍,并对其组件、安装方式及路径功能等进行了深入讲解。01 Cilium 概述Cilium是一个具备API感知的网络和安全的开源软件,用于透明保护使用Docker和Kubernetes等Linux容器管理平台部署的应用程序服务之间的网络连接。Cilium的基础是一种称为BPF的新
看到cilium这个网络插件用的是ebpf,所以我对k8s网络的研究,就直接以cilium来入门了,这个门槛还是比较高的 在kind集群上,已经把整个虚拟网络给搭建了起来了,但是对组件之间的数据流还不是很清楚,cilium提供了一种简单而有效的方法来定义和执行给予容器/Pod身份的网络层和应用层安全 ...
转载
2021-08-15 22:10:00
200阅读
2评论
近年来,随着Kubernetes(简称K8S)的流行,越来越多的开发者开始关注K8S中的网络解决方案。其中,Cilium是一个基于eBPF的高级网络解决方案,它提供了强大的网络安全和性能功能。在K8S中,Cilium可以与BGP(Border Gateway Protocol)一起使用,以实现更灵活和可扩展的网络架构。本文将介绍如何在K8S中使用Cilium和BGP,并给出相应的代码示例。
##
Kubernetes是一个流行的容器编排和管理平台,而Cilium是一个面向Kubernetes的高性能网络解决方案。本文将介绍如何在Kubernetes上使用Cilium来优化网络性能,以及实现关键词所需的步骤。
整件事情的流程可以用下表展示:
| 步骤 | 操作 |
|------|------|
| 1 | 安装Kubernetes集群 |
| 2 | 部署Cilium |
| 3 |
# Kubernetes 与 Cilium:现代云原生网络解决方案
在现代的云原生架构中,容器和微服务的使用越来越普遍。Kubernetes 是一种流行的容器编排工具,而 Cilium 则是一个基于 eBPF(增强的 Berkeley Packet Filter)的网络和安全解决方案,能够提升 Kubernetes 集群的网络性能与安全性。本文将介绍 Kubernetes 和 Cilium 的基
系列文章
Cilium 系列文章
前言
今天我们进入 Cilium 安全相关主题, 介绍 Kubernetes 网络策略以及 CiliumNetworkPolicies 额外支持的内容。
网络策略(NetworkPolicy)的类型
默认情况下,Kubernetes 集群中的所有 pod 都可被其他 pod 和网络端点访问。
网络策略允许用户定义 Kubernetes 集群允许哪些流量, 禁止
原创
精选
2023-08-06 09:03:59
262阅读
译者序本文翻译自 2019 年 DigitalOcean 的工程师 Nate Sweet 在 KubeCon 的一篇分享: Understanding(and Troubleshooting) the eBPF Datapath in Cilium 。由于译者水平有限,本文不免存在遗漏或错误之处。如有疑问,请查阅原文。以下是译文。1 为什么要关注 eBPF?1.1 网络成为瓶颈
cilium 是基于 eBPF 模式下的 kubernetes 网络服务,它可以替代 kube-proxy 全部功能或托管服务,性能与 calico 基本一致,但由于项目较新,使用时有较多配置问题,需要深入研究解决相关依赖配置问题。替代 kube-proxy 不会监听端口, 它会直接通过内核接口获取到目标端口的流量。安装可通过 Helm 直接部署:$ helm repo add c
原创
2022-03-10 10:46:38
313阅读
cilium 概述 Cilium 是一种网络、可观察性和安全解决方案,具有基于 eBPF 的数据平面。它提供了一个简单的扁平第 3 层网络,能
cilium 组件架构图 Cilium Agent Cilium agent ( cilium-agent) 在集群中的每个节点上运行。在较高级别上,代理通过 Kubernetes 或 API 接受
BIRD是在Internet网络中路由数据包协议在类UNIX系统上的开源实现,它是一个守护进程。BIRD BIRD Internet Routing Daemon。它是一个程序(一个守护进程),它在互联网类型的网络(即,运行IPv4或IPv6协议的网络)中充当动态路由器。路由器是在互连网络之间转发数据包的设备,以便允许未直接连接到同一局域网的主机相互通信。它们还与互联网中的其他路由器进行通信,以发
系列文章
Cilium 系列文章
前言
在本章中,我们将直接将 Cilium 安装到 Kubernetes 集群中。
在实验中,我们用到的组件及版本为:
Cilium 1.13.4
K3s v1.26.6+k3s1
OS
Debian 10, Kernel 4.19.232, arm64
Ubuntu 23.04, Kernel 6.2, x86
?Notes:
如前文所述,Cil
原创
2023-07-22 17:25:40
143阅读
系列文章
Cilium 系列文章
前言
在前文中我们提到, cilium install 默认安装后, Cilium 功能启用和禁用情况如下:
datapath mode: tunnel: 因为兼容性原因,Cilium 会默认启用 tunnel(基于 vxlan) 的 datapatch 模式,也就是 overlay 网络结构。
KubeProxyReplacement: Disabled
原创
2023-07-25 11:01:28
188阅读
系列文章
Cilium 系列文章
前言
将 Kubernetes 的 CNI 从其他组件切换为 Cilium, 已经可以有效地提升网络的性能. 但是通过对 Cilium 不同模式的切换/功能的启用, 可以进一步提升 Cilium 的网络性能. 具体调优项包括不限于:
启用本地路由(Native Routing)
完全替换 KubeProxy
IP 地址伪装(Masquerading)切换为基
原创
2023-07-26 10:12:21
151阅读
和内核版本的关系,和架构的关系Life of a Packet in Cilium: Discovering the Pod-to-Service Traffic Path and BPF Processing Logicshttps://arthurchiao.art/blog/cilium-life-of-a-packet-pod-to-service/Understanding
原创
2023-01-31 06:54:40
484阅读
一、第三层配置示例1.基于Label的策略使用busybox启动三个pod:box-a,box-b,box-c,测试a->b,c->b联通性入口策略配置基于label的策略:只允许a->bapiVersion:"cilium.io/v2"kind:CiliumNetworkPolicymetadata:name:"a-to-b-allow"spec:endpointSelecto
原创
精选
2020-09-16 12:14:21
4168阅读
点赞
一、基础知识:eBPF和XDP1.1 BPF全称为“Berkeley Packet Filter”,于1997 年自Linux 2.1.75版本的内核引入。基于寄存器(CPU之上的小型存储空间)的虚拟机,运行于内核空间。主要功能包括:负责运行从用户空间(通过系统调用)注入的代码而无须对内核进行编程(开发内核模块)。使用自定义的64 位RISC指令集。能够在Linux内核内部运行即时本地编译的 “B
Service Mesh 介绍 Service Mesh 关注于集群内部的微服务通信、控制和监控。它提供诸如负载均衡、故障恢复、安全性增强、监控和跟踪等功能。Service Mesh 可以帮助管理复杂的微服务架构,实现服务之间的可靠通信,并提供各种附加功能来增强系统的可观测性和安全性。 随着分布式应
Introduction Cluster Mesh 主要处理集群间的通信、网络策略以及路由等问题。它能够处理跨多个 Kubernetes 集群的 Pod IP 路由,通
## Cilium Socket eBPF: Enhancing Network Security and Performance
In recent years, the demand for network security and performance has skyrocketed, driven by the increasing complexity and scale of mo