docker(一)之cgroup详解 摘要: 容器的三大基石包括: namespaces, docker,rootfs。其中Namespace实现进程隔离。Cgroups用于限制进程资源,如CPU、内存、磁盘空间、网络流量等。rootfs则是容器的基础文件系统。通过这些技术,Docker实现了轻量级的容器隔离。本文将介绍cgroup的基础知识,并通过实验加深对cgroup的认知。
kubernetes网络(三)之bird的路由反射器的使用 上一篇文章中我们用 bird 程序实现了三台服务器之间的BGP full mesh。本文我们将full mesh 方式改为路由反射器方式 ,让宿主相互学习到对方的容器网段,从而达到容器网段能相互通信的目的。
kubernetes网络(二)之bird实现节点间BGP互联的实验 上一篇文章中我们学习了calico的原理,kubernetes中的node节点,利用 calico 的 bird 程序相互学习路由,为了加深对 bird 程序的认识,本文我们将使用bird进行实验,实验中实现了BGP FULL MESH模式让宿主相互学习到对方的容器网段,从而达到容器网段能相互通信的目的。
kubernetes中pause容器的作用与源码详解 摘要: 本文从详细介绍pause.c源码的执行逻辑,在此基础上并总结了pause容器的作用。进过本文的学习我们对pause容器的实现有了本质的认识。
kubernetes中的ParallelizeUntil()框架源码解读与使用 `workqueue.ParallelizeUntil`框架广泛的适用于kubernetes源码,通过对其源码的解读,我们了解到了其如何实现与使用场景。我们可以在平时日常开发中,也可以多多尝试使用这个成熟的并发任务框架。
kube-scheduler调度策略之优选算法(四) 本文分析了Prioritize优选算法的执行过程并通过阅读源码总结出了score打分(预选策略)的计算公式。之后我们整理了默认的调度器中的优选算法有哪些,对应的weight值是多少。最后我们讲述了如何通过修改调度配置策略文件,来控制和干预kubernetes的调度过程。
kube-scheduler调度策略之预选策略(三) 本文我们分析源码中预选策略的调度过程的执行,同时看到了kube-scheduler为了解决节点数量太多而导致负载问题,而引入了`PercentageOfNodesToScore`控制参与预算调度过程的节点数量。之后介绍了如何修改该值,也介绍了通过修改源码并重新编译,观察debug过程。最后我还以`CheckNodeUnschedulablePred`预选算法,追溯了该算法的注册到执行的过程。