- 博客(55)
- 资源 (2)
- 收藏
- 关注
原创 leecode58最后一个单词的长度
方法一: 从后向前遍历,遇到第一个空格符合,记录当前位置index,再计算出index与字符串最后一位字符之间的长度。
2024-10-11 22:53:52 244
原创 docker(一)之cgroup详解
摘要: 容器的三大基石包括: namespaces, docker,rootfs。其中Namespace实现进程隔离。Cgroups用于限制进程资源,如CPU、内存、磁盘空间、网络流量等。rootfs则是容器的基础文件系统。通过这些技术,Docker实现了轻量级的容器隔离。本文将介绍cgroup的基础知识,并通过实验加深对cgroup的认知。
2024-09-26 15:59:24 965
原创 kubernetes网络(三)之bird的路由反射器的使用
上一篇文章中我们用 bird 程序实现了三台服务器之间的BGP full mesh。本文我们将full mesh 方式改为路由反射器方式 ,让宿主相互学习到对方的容器网段,从而达到容器网段能相互通信的目的。
2024-09-23 23:38:34 948
原创 kubernetes网络(二)之bird实现节点间BGP互联的实验
上一篇文章中我们学习了calico的原理,kubernetes中的node节点,利用 calico 的 bird 程序相互学习路由,为了加深对 bird 程序的认识,本文我们将使用bird进行实验,实验中实现了BGP FULL MESH模式让宿主相互学习到对方的容器网段,从而达到容器网段能相互通信的目的。
2024-09-23 20:32:51 1332
原创 kubernetes中pause容器的作用与源码详解
摘要: 本文从详细介绍pause.c源码的执行逻辑,在此基础上并总结了pause容器的作用。进过本文的学习我们对pause容器的实现有了本质的认识。
2024-09-16 17:39:58 1211
原创 kubelet组件的启动流程源码分析
摘要: 本文总结了kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。
2024-09-08 18:13:20 1507
原创 kubernetes中的ParallelizeUntil()框架源码解读与使用
`workqueue.ParallelizeUntil`框架广泛的适用于kubernetes源码,通过对其源码的解读,我们了解到了其如何实现与使用场景。我们可以在平时日常开发中,也可以多多尝试使用这个成熟的并发任务框架。
2024-09-04 22:29:24 797
原创 go解析YAML文件多文档
本文介绍了YAML文档的特点,并用代码演示了GO语言对YAML文档的处理,特别是描述了当YAML文件中存在多个YAML文档时如何处理的方法。
2024-09-03 12:24:31 1383
原创 kube-scheduler调度策略之优选算法(四)
本文分析了Prioritize优选算法的执行过程并通过阅读源码总结出了score打分(预选策略)的计算公式。之后我们整理了默认的调度器中的优选算法有哪些,对应的weight值是多少。最后我们讲述了如何通过修改调度配置策略文件,来控制和干预kubernetes的调度过程。
2024-09-02 00:05:25 964 2
原创 kube-scheduler调度策略之预选策略(三)
本文我们分析源码中预选策略的调度过程的执行,同时看到了kube-scheduler为了解决节点数量太多而导致负载问题,而引入了`PercentageOfNodesToScore`控制参与预算调度过程的节点数量。之后介绍了如何修改该值,也介绍了通过修改源码并重新编译,观察debug过程。最后我还以`CheckNodeUnschedulablePred`预选算法,追溯了该算法的注册到执行的过程。
2024-09-01 17:26:01 1167
原创 kube-scheduler调度任务的执行过程分析与源码解读(二)
摘要: 上文我们对Kube-scheduler的启动流程进行了分析,本文继续探究kube-scheduler执行pod的调度任务的过程。
2024-08-30 22:23:47 903
原创 kube-scheduler组件的启动流程与源码走读(一)
kube-scheduler是kubernetes系统中的重要组件,kub-scheduler 的核心职责是为待调度的 pod 寻找一个最合适的 node 节点, 然后进行 bind node 绑定, 后面 kubelet 才会监听到并创建真正的 pod。kub-scheduler本身是一个功能强大且负责的核心组件,本文聚焦在调度器的启动过程,从源码层面走读启动逻辑。
2024-08-28 20:40:52 774
原创 kubernetest中wait.Until()方法的源码解读
本文从源码层面解读了kubernetes源码中常用的wait.Until()方法的源码实现,并且本文也举例说明了wait.Until()方法的在kubernete源码中的典型使用场景。
2024-08-23 22:37:02 1046
原创 go语言基础之goroutine与channel经典练习题
本文介绍了goroutine与channel的特点,并通过一个经典的练习题的实现,加深了对goroutine与channel的理解
2024-08-18 18:58:02 854 1
原创 informer中的WorkQueue机制的实现分析与源码解读(3)之限速队列RateLimitingQueue
本文介绍workqueue中的限速队列的实现机制,并详细介绍了三种限速算法。文章同时也通过实验验证对算法的理解。
2024-08-18 18:39:45 1048
原创 informer中的WorkQueue机制的实现分析与源码解读(2)之延时队列DelayingQueue
本文介绍workQueue中的第二种队列之延迟队列的原理机制,并从源码层面解读了延迟队列是如何具体实现的。
2024-08-17 16:00:27 1141
原创 linux中守护进程管理方式
本文介绍了3中linux系统中常用的守护进程的管理工具:nohup、supervirsor和start-stop-daemon。
2024-08-15 22:21:25 715
原创 informer中的WorkQueue机制的实现分析与源码解读(1)
本文从源码层面介绍workqueue的工作机制,重点介绍了Add、Get、Done三个方法的执行过程或逻辑。
2024-08-05 01:04:52 665
原创 informer中reflector机制的实现分析与源码解读
informer机制 reflector机制 listwatch机制 reflector源码解读 listwatch源码解读
2024-07-31 16:15:52 979
原创 linux中关于环境变量的常用的设置方法
当你需要设置一个只对交互式 shell 有效的环境变量时,应该使用这个文件。1.使用/etc/environment, 是一个全局的环境变量设置文件,它会影响到所有用户和所有进程。由于/etc/environment设置的环境变量是全局的环境变量,即使使用ssh xxx ''非交互方式启动进程也能读取到/etc/environment设置的环境变量。注意: ssh xxx '' ,远程执行命令方式,由于是非shell交互方式,所以无法读取/etc/profile中设置的环境变量。
2024-07-13 17:54:05 270
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人