Below you will find pages that utilize the taxonomy term “Kubelet”
June 21, 2023
Kubelet 服务引导流程
"\u003cp\u003e版本:v1.17.3\u003c/p\u003e\n\u003cp\u003e入口文件: \u003ca href=\"https://github.com/kubernetes/kubernetes/blob/v1.27.3/cmd/kubelet/kubelet.go\"\u003e/cmd/kubelet/kubelet.go\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e本文主要是为了通过阅读kubelet启动流程源码,实现对整个kubelet 组件及其服务有所了解,因此许多相关组件服务的运行机制并没有详细介绍,如果有时间的话,可以针对每个组件服务进行详细介绍。\u003c/p\u003e\n\u003cp\u003e在k8s中 \u003ccode\u003ekubelet\u003c/code\u003e 是一个极其重要的组件之一,也是 Kubernetes 里面第二个不可被替代的组件(第一个不可被替代的组件当然是 \u003ccode\u003ekube-apiserver\u003c/code\u003e)。也就是说,无论如何,都不太建议你对 kubelet 的代码进行大量的改动。保持 kubelet 跟上游基本一致的重要性,就跟保持 kube-apiserver 跟上游一致是一个道理。\u003c/p\u003e\n\u003cp\u003ekubelet 本身,也是按照“控制器”模式来工作的。它实际的工作原理,可以用如下所示的一幅示意图来表示清楚。\u003cimg src=\"https://blogstatic.haohtml.com/uploads/2023/07/d2b5ca33bd970f64a6301fa75ae2eb22-2.png\" alt=\"\"\u003e\u003c/p\u003e\n\u003cp\u003e可以看到,kubelet 的工作核心,就是一个控制循环,即:SyncLoop(图中的大圆圈)。而驱动这个控制循环运行的事件,包括四种:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePod 更新事件;\u003c/li\u003e\n\u003cli\u003ePod 生命周期变化;\u003c/li\u003e\n\u003cli\u003ekubelet 本身设置的执行周期;\u003c/li\u003e\n\u003cli\u003e定时的清理事件。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e所以,跟其他控 …\u003c/p\u003e"