- 博客(91)
- 资源 (1)
- 收藏
- 关注
原创 内推|京东|后端开发|运维|算法...|北京 更多岗位扫内推码了解,直接投递,跟踪进度
1、拥有数学、统计学、计算机科学或相关领域的硕士或博士学位,精通至少一种编程语言,如Python、R或Java;5、负责kvm/Docker/Kubernetes的日常的运维支持、性能调优、监控、故障诊断等工作;有在离线混部经验、长尾延时优化经验、有内存PFRA优化经验,对服务器性能、频率、功耗优化有经验的。有在离线混部经验、长尾延时优化经验、有内存PFRA优化经验,对服务器性能、频率、功耗优化有经验的。熟悉Linux内核进程调度、内存管理、IO、网络,有内核开发调试、性能调优经验。
2024-09-04 10:10:08 1523
原创 iptables 学习
关于 iptables 四表五链,网上有很多介绍的文章,本文不在叙述,是在看源码时的一些想法和思考。raw 表: 确定是否对该数据包进行状态跟踪。包含两个规则链,OUTPUT、 PREROUTINGmangle 表: 修改数据包内容,用来做流量整形的,给数据包设置标记。包含五个规则链,INPUT、 OUTPUT、FORWARD、 PREROUTING、 POSTROUTINGnat 表: 负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。
2024-03-24 14:33:23 537
原创 ip_vs 原理解析 (五)hook 后的开始 NF_INET_LOCAL_OUT
Local_OUT hook,即发包前,查询是否有 ipvs 已存在连接,如果有,做 snat 再发,如果没有且在 内核开启 vs_icmp_nat,有对应 rs 时(回包匹配到 rs),回复 ICMP_DEST_UNREACH/ICMP_PORT_UNREACH;其他通过 hook 点。使用场景通常是需要 ipvs 应用将报文发送到真正的后端;在 k8s 中,使用该函数将流量发送到 rs。根据优先级依次是 ip_vs_local_reply4,ip_vs_local_request4。
2023-09-01 14:16:41 849
原创 ip_vs 原理解析 (四)hook 后的开始 NF_INET_LOCAL_IN
本章重点:k8s 如何利用 ip_vs 实现源 IP 会话亲和性。
2023-08-25 14:44:29 1511
原创 CNI 网络流量 5.4 Cilium 流量分析(三) -- k8s services
这样通常有一个问题,即 pod 收到的报文源 IP 不是真正的 clientIP,这通常对一些需要通过访问者 IP 有需求的应用有一定的影响;当通过 nodePort 或 ExternalIP 访问集群服务时,如果 后端 pod 不在访问的 节点,那么通常会 snat 成 访问节点默认路由网卡的 ip,然后转发到 pod 所在节点;如下图所示,在 pod1 访问 services 时,通过查看目的 ip,发现是 service 后,直接选择一个 backend,实际上省略了 dnat 流程。
2023-04-05 14:45:46 923 2
原创 Kubernetes whereabouts IPAM 介绍
是一款代替 host-local 的 IPAM,可以本地或用 kubernetes 记录 ippool 和 已分配 IP;并且支持所有节点的 pod ip 可以使用同一个 cidr。通常和cni bridge,ipvlan,macvlan 等相结合使用,负责分配和管理 IP 的功能。它是以 NAD 为地址段设定的模式,一个 nad 中描述 该 地址段的 ip 范围,网关等信息。三个 informer listen pod,nad,ippool 三种资源。读取 ipRange。
2023-04-02 18:11:10 724
原创 CNI 网络流量 5.3 Cilium 流量分析(二)
根据路由 10.0.0.0/24 via 10.0.0.161 dev cilium_host src 10.0.0.161 ,到 本地 pod 的流量会命中 cilium_host egress hook,即。收包后本地处理回包,根据路由 10.0.0.0/24 via 172.18.22.111 dev ens3,通过 ens3 网络通信,pod 所在节点 ens3 ingress。在 lookup_ip4_remote_endpoint 时,获取到对面 pod 的 ip。
2023-03-29 00:13:35 879 4
原创 Pod 网卡热插拔
如 dynamic-networks-controller项目(https://github.com/k8snetworkplumbingwg/multus-dynamic-networks-controller)就是为了实现 pod 网卡热插拔功能。通过 watch pod 变化,annotation 中 k8s.v1.cni.cncf.io/networks 和 k8s.v1.cni.cncf.io/network-status 的比较进行热插拔动作。图片来自 kubevirt 社区。
2023-03-23 01:19:37 308
原创 KubeOVN 支持 KubeVirt 网卡热插实践
本文描述基于 KubeOVN + KubeVirt 实现网卡热插的实践方法。基于 containerd。
2023-03-21 00:58:57 754
原创 CNI 网络流量 5.2 Cilium 流量分析(一)
环境:fedora37,kernel:6.0.7-301.fc37.x86_64,cilium 版本 v1.13.0传统的基于二层转发或三层路由的方式,数据包转发的路径是比较清晰,可以利用一些抓包工具直观的分析报文的走向,但在基于 ebpf 的 cilium 场景下,用传统的分析工具就没那么清晰了。下面通过 ebpf 代码和对应接口的挂载点就行数据包的分析。先进到 pod1 里查看 netns 网络环境。
2023-03-17 00:46:54 890
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人