- 博客(17)
- 收藏
- 关注
原创 docker-monitor-injector源码分析
docker-monitor-injector是携程开源的一个修正docker容器内监控数据的工具,通过劫持open,fopen等linux库函数,重算/proc/meminfo,/proc/stat等度量指标,使得容器内free,top等系统工具能正确统计容器性能指标。
2016-12-30 11:40:50 14108
原创 劫持系统函数Demo
以下内容是劫持glib.c中标准printf函数的方法。是这篇 Docker容器内的监控命令数据修正思路的基础知识。对LD_PRELOAD熟悉可以不看。
2016-12-30 11:32:02 14658
原创 Docker容器内的监控命令数据修正思路
思路概述:编写linux c代码,生成对应的动态链接库(so文件),通过LDPRELOAD实现对/proc文件系统访问的劫持。劫持之后,实现容器内正确的数据计算逻辑,并生成对应的/proc文件放到容器内/tmp/proc目录,劫持后对应的命令的数据来源就从/tmp/proc/*中获取。主要是劫持proc文件系统的访问,其他的细节可以各种各样。
2016-12-30 11:21:11 15632
原创 docker volume源码分析
这是在docker v1.10.3版本的使用过程中,使用convoy 作为volume driver,在一次docker volume remove失败时,使我不得不对docker volume 的源码做一次分析。
2016-12-29 17:41:00 15097
原创 docker stats命令源码分析结果
本文是基于docker 1.10.3版本的源码,对docker stats命令进行源码分析,看看docker stats命令输出的数据是从cgroups fs中怎么怎么计算出来的。
2016-12-29 16:46:45 20566
原创 docker v1.11 源码重构分析
基于docker v1.12的源代码,对docker engine v1.11中重构后的源码结构进行分析,涵盖dockerd, containerd, containerd-shim, runC。
2016-12-28 22:49:07 14817
原创 Linux kernel Namespace源码分析
学习一下linux kernel namespace的代码还是很有必要的,让你对docker容器的namespace隔离有更深的认识。
2016-12-27 23:02:28 17983
原创 Linux Kernel Cgroups源码浅析
本文是我几个月前在研究linux kernel Cgroups时整理的。文中大部分的理论知识是从网上各种贴子solo的,源码分析部分,我是基于kernel 4.4.19的代码进行解读分析的,各个内核版本之间应该几乎没啥差别。介绍Cgroups是control groups的缩写,是Linux内核提供的一种可以限制、记录、隔离进程组(process groups)所使用的物理资源(如:cpu,memo
2016-12-27 21:14:34 18168
原创 Kubernetes GC in V1.3 源码分析
本文是对Kubernetes V1.3发布的新Garbage Collector模块的源码解读。实际上本文的是基于kubernetes v1.4的代码进行分析的,和V1.3没有大的改动。GC worker的默认值从V1.3中的5调整为V1.4中的20。
2016-12-27 14:37:33 22786
原创 runC源码分析——主体调用链
本文将简单的对runC的源码调用主体逻辑进行梳理,为跟系统的阅读runC源码。runC总体调用逻辑下图中,runC源码逻辑跳转流程总体上分为三步: main入口 ——> runC处理 ——> libcontainer处理。runC其实就是在libcontainer的基础上进行了封装成各个Command。
2016-12-27 09:15:40 15491
原创 Harbor介绍及我们的改造
本文讲述了我们基于Harbor V0.4.1进行的分析和改造,尤其是基于local disk和共享mysql场景下的HA 方案和bug fix。
2016-12-26 14:55:34 26945 1
原创 runC源码分析——Create/Run Container
本文是对runC源码的核心部分——Create Command & Run Command 进行源码分析。
2016-12-25 12:36:54 19922
原创 Kubernetes GC 工作原理解析 in v1.3
本文是对kubernetes GC proposal的解读分析,是对GC in kubernetes v1.3的内部结构剖析,并记录了其中一些关键点,以便日后能更好的温故而知新。
2016-12-25 12:02:23 22906
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人