自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(123)
  • 收藏
  • 关注

原创 traffic control 之 egress 队列

egress队列主要作用于报文出方向,分为两类:无类队列和分类队列

2023-08-19 09:28:00 232

原创 cilium ebpf helper函数bpf_redirect/peer/neigh

设置接口索引和flags,如果flags为BPF_F_INGRESS,则将skb->dev设置为ifindex指定的dev,并将报文enqueue_to_backlog到cpu队列,下次软中断再处理报文,就像报文从ifindex指定的接口接收。如果不指定BPF_F_INGRESS,则执行dev_queue_xmit将报文从ifindex指定的接口发送出去。上面三个bpf helper函数实现很简单,只是设置flag和接口索引,并没有真正执行报文重定向的处理,但都会返回 TC_ACT_REDIRECT。

2023-08-12 15:20:19 565

原创 cilium host-routing模式流程分析

本文分析cilium host routing模式下的报文路径和涉及到的ebpf源码分析。

2023-08-12 09:47:58 487 1

原创 cilium native-routing模式流程分析

本文分析cilium native routing模式下的报文路径和涉及到的ebpf源码分析。实验环境在vxlan模式下修改参数后而来。native routing和vxlan模式的区别主要是跨节点通信时,vxlan模式需要封装,native routing模式需要根据目的ip查找路由表转发到其他节点。

2023-08-06 11:10:11 318

原创 cilium vxlan模式流程分析

本文分析cilium vxlan模式下的报文路径和涉及到的ebpf源码分析。实验环境先通过kubeadm安装k8s,再通过cilium binary安装cilium cni,默认是vxlan模式的。

2023-08-02 19:52:02 299

原创 cilium ipam机制源码分析

cilium作为k8s cni插件,提供了ipam的机制,可用来给pod分配ip地址,具体配置可参考,其中Kubernetes Host Scope表示每个node的cidr由k8s来分配,node上每个pod的ip由cilium-agent来分配;Cluster Scope为默认的ipam方式,每个node的cidr由cilium-operator来分配,并更新到ciliumnode crd中,node上每个pod的ip仍然由cilium-agent来分配,其他几种模式为云厂商提供的。

2023-04-16 18:15:37 463 1

原创 k8s CSI架构介绍及源码分析

k8s CSI架构及源码分析

2023-03-07 22:04:16 1133 1

原创 gobgp policy

gobgp policy配置

2023-03-02 20:48:30 236

原创 k8s nfs-csi实践

k8s nfs-csi实践

2023-02-21 22:33:13 775

原创 kubelet PLEG实现分析

kubelet的主要作用是确保pod状态和podspec保持一致,这里的pod状态包括pod中的container状态,个数等,为了达到这个目的,kubelet需要从多个来源watch pod spec的变化,并周期从container runtime获取最新的container状态。比如创建了包括三个container的pod,当其中一个container异常退出时,kubelet能通过PLEG及时发现此事件并重建container。

2023-01-20 21:00:00 857

原创 kubelet垃圾回收机制

kubelet垃圾回收机制源码分析

2022-12-13 21:19:33 597

原创 k8s 驱逐eviction机制源码分析

k8s eviction原理/源码分析

2022-12-10 21:21:29 1968

原创 k8s qos实现分析

k8s qos实现分析,cgroup原理,源码路径

2022-12-07 20:54:30 1091

原创 kube-scheduler 抢占机制

kube-scheduler抢占机制实现分析

2022-10-30 21:06:14 504

原创 kube-scheduler addAllEventHandlers

kube-scheduler资源变化事件处理函数

2022-10-30 15:46:58 361

原创 kube-scheduler 调度流程

kube-scheduler调度流程源码分析

2022-10-29 10:10:27 798

原创 kube-scheduler framework

kube-scheduler调度框架实现

2022-10-27 10:01:04 327

原创 kube-scheduler cache

k8s调度缓存实现

2022-10-23 09:43:40 604

原创 kube-scheduler SchedulingQueue

kube-scheduler调度队列

2022-10-19 21:17:32 296

原创 kube-scheduler 架构概述

kube-scheduler架构

2022-10-18 21:49:47 1198

原创 kube-scheduler 配置文件及插件

kube-scheduler配置文件及插件介绍

2022-10-15 21:56:03 1182

原创 k8s admission机制源码分析

k8s admisson机制分析

2022-10-04 00:10:56 441

原创 k8s 鉴权机制源码分析

k8s鉴权机制源码分析

2022-10-02 15:32:08 488

原创 k8s 认证机制源码分析

k8s认证机制源码分析

2022-09-27 00:10:14 966

原创 apiextensions CRD实现分析

k8s crd实现分析

2022-09-24 12:01:06 262

原创 aggregator-server apiservice实现分析

apiservice实现分析

2022-09-22 23:46:38 374

原创 kube-apiserver 安装路由汇总

kube-apiserver路由汇总

2022-09-20 23:48:04 496

原创 APIServerHandler及ServeHTTP流程分析

APIServerHandler及ServeHTTP流程分析

2022-09-18 14:46:30 340

原创 kube-apiserver源码分析

kube-apiserver流程分析

2022-09-12 16:53:07 697

原创 kube-apiserver资源注册

k8s资源注册流程分析

2022-09-04 16:11:10 468

原创 k8s 资源注册表

k8s资源注册表分析

2022-09-04 15:39:45 395

原创 reuseaddr和reuseport

方案1: 如果socketA调用bind后,又调用了listen,则fastreuse 会恢复为0(即使socketA在bind前设置了SO_REUSEADDR),此时即使socketB在bind前设置了SO_REUSEADDR也不管用。三个匹配条件:sk_family ,socket绑定的本地ip rcv_saddr,socket绑定的本地接口sk_bound_dev_if。同一条tcp流的前两个建立连接的请求syn和响应ack报文需要走上面流程,连接建立后,后续报文到来后,可直接在已建立连接表查找到。.

2022-08-27 23:28:29 887

原创 tcp三次握手的一些疑问

server收到client发送的syn报文后,为了防止syn攻击,会首先创建request_sock结构,保存到hash表中(半连接队列),而不是直接分配sock结构。接下来回答上面的两个问题,对于问题a,server从收到syn到再次收到ack的这段时间内,因为还没有分配sock结构,所以从代码看,是在收到ack后,分配sock才设置TCP_SYN_RECV。对于问题b,server sock一直是处于listen状态的,收到新连接后,会分配新的sock,改变新sock的状态。...

2022-08-27 23:26:55 170

原创 网络编程“惊群“问题

惊群现象就是多进程(多线程)在同时阻塞等待同一个事件的时候(休眠状态),如果等待的这个事件发生,那么他就会唤醒等待的所有进程(或者线程),但是最终却只可能有一个进程(线程)获得这个时间的“控制权”,对该事件进行处理,而其他进程(线程)获取“控制权”失败,只能重新进入休眠状态,这种现象和性能浪费就叫做惊群。...

2022-08-27 23:25:49 423

原创 epoll源码分析

epoll源码实现分析

2022-08-27 23:23:51 557 1

原创 poll/select源码分析

select/poll源码实现分析

2022-08-27 23:22:34 337

原创 kernel 等待队列

kernel 等待队列

2022-08-27 23:20:30 251

原创 traffic control

tc介绍

2022-07-27 10:02:27 486

原创 traffic control 之 egress 队列

tc egress队列实现分析

2022-07-19 19:50:02 402

原创 macvlan虚拟接口

macvlan的几种模式

2022-07-19 19:48:54 1177

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除