|
6 | 6 | <description>Recent content on Yipeng M</description> |
7 | 7 | <generator>Hugo -- 0.146.7</generator> |
8 | 8 | <language>zh-cn</language> |
9 | | - <lastBuildDate>Wed, 23 Apr 2025 11:22:12 +0800</lastBuildDate> |
| 9 | + <lastBuildDate>Tue, 06 May 2025 11:22:12 +0800</lastBuildDate> |
10 | 10 | <atom:link href="http://localhost:1313/my-blog/index.xml" rel="self" type="application/rss+xml" /> |
| 11 | + <item> |
| 12 | + <title>K8s源代码分析:Kubelet(1)-主循环</title> |
| 13 | + <link>http://localhost:1313/my-blog/posts/20250506/</link> |
| 14 | + <pubDate>Tue, 06 May 2025 11:22:12 +0800</pubDate> |
| 15 | + <guid>http://localhost:1313/my-blog/posts/20250506/</guid> |
| 16 | + <description><h2 id="kubelet-主工作流程源码深度剖析">Kubelet 主工作流程源码深度剖析</h2> |
| 17 | +<p>Kubelet 是 Kubernetes 集群中每个节点上运行的核心组件,它负责管理 Pod 的生命周期、与容器运行时交互、上报节点和 Pod 状态等。本文将深入分析 Kubelet 的主工作流程,从启动函数 <code>Run</code> 开始,逐层解析其核心组件和循环机制。</p> |
| 18 | +<h3 id="一kubelet-的启动入口kubeletrun-函数">一、Kubelet 的启动入口:<code>Kubelet.Run()</code> 函数</h3> |
| 19 | +<pre tabindex="0"><code class="language-mermaid" data-lang="mermaid">graph TD |
| 20 | + subgraph Node[&#34;节点 (Node)&#34;] |
| 21 | + KubeletMain[&#34;Kubelet 主进程 (Kubelet.Run)&#34;] |
| 22 | + CRI[&#34;容器运行时 (CRI Interface)&#34;] |
| 23 | + CNI[&#34;网络插件 (CNI)&#34;] |
| 24 | + OS[&#34;操作系统 / cgroups&#34;] |
| 25 | + |
| 26 | + subgraph KubeletInternal[&#34;Kubelet 内部组件&#34;] |
| 27 | + PodManager[&#34;Pod 管理器&#34;] |
| 28 | + PLEG[&#34;PLEG (Pod Lifecycle Event Generator)&#34;] |
| 29 | + VolumeManager[&#34;卷管理器&#34;] |
| 30 | + StatusManager[&#34;状态管理器 (Pod &amp; Node)&#34;] |
| 31 | + PodWorkers[&#34;Pod Workers&#34;] |
| 32 | + APIServerClient[&#34;API Server 客户端&#34;] |
| 33 | + LogServer[&#34;日志服务&#34;] |
| 34 | + CloudSync[&#34;(可选) 云同步管理器&#34;] |
| 35 | + end |
| 36 | + |
| 37 | + KubeletMain --&gt; APIServerClient |
| 38 | + KubeletMain --- PodManager |
| 39 | + KubeletMain --- PLEG |
| 40 | + KubeletMain --- VolumeManager |
| 41 | + KubeletMain --- StatusManager |
| 42 | + KubeletMain --- PodWorkers |
| 43 | + KubeletMain --- LogServer |
| 44 | + KubeletMain --- CloudSync |
| 45 | + |
| 46 | + APIServerClient &lt;--&gt; ExternalAPIServer[&#34;Kubernetes API Server&#34;] |
| 47 | + PLEG &lt;--&gt; CRI |
| 48 | + PodWorkers &lt;--&gt; CRI |
| 49 | + PodWorkers &lt;--&gt; CNI |
| 50 | + PodWorkers &lt;--&gt; OS |
| 51 | + VolumeManager &lt;--&gt; OS |
| 52 | + end |
| 53 | + |
| 54 | + ExternalAPIServer -- 配置/指令 --&gt; KubeletMain |
| 55 | + KubeletMain -- 状态/事件 --&gt; ExternalAPIServer |
| 56 | +</code></pre><p><code>Kubelet.Run()</code> 函数是整个 Kubelet 服务的起点,负责完成一系列初始化工作并启动各个后台服务和主工作循环。</p></description> |
| 57 | + </item> |
11 | 58 | <item> |
12 | 59 | <title>Go并发编程实践:生产者-消费者模型的三种同步方案</title> |
13 | 60 | <link>http://localhost:1313/my-blog/posts/go%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E5%AE%9E%E8%B7%B5-%E4%B8%89%E7%A7%8D%E4%BC%98%E9%9B%85%E9%80%80%E5%87%BA/</link> |
|
0 commit comments