Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

K3s 运行时模块文档

本文档面向需要了解 K3s 运行时模块工作原理的所有人,包括产品经理、运维人员和对技术细节感兴趣的非开发人员。文档会在每个技术术语第一次出现时用“术语(中文解释)“的格式进行说明。

提示:文档中的流程图使用 Mermaid 语法。在 GitHub 上可直接渲染;本地使用 mdBook 阅读时,可安装 mdbook-mermaid 插件。


这个模块是什么

K3s 运行时模块是整个智能体商店(Agent Store)的执行引擎层。它负责:

  • 把用户的一次“运行请求“变成一个真实运行在本地机器上的容器(Container,一种轻量级隔离运行环境)
  • 管理容器的创建、监控和清理
  • 确保每次运行之间互不干扰
  • 保证同一个会话的多轮对话能够保持上下文连续

简单来说:后端控制面负责“决定做什么“,K3s 运行时模块负责“真正去做“。


统一术语表

下面这些术语会在后续文档中反复出现。建议先浏览一遍,后续遇到时可随时回来查阅。

术语中文解释简要说明
K3s轻量级 Kubernetes 发行版一种管理容器的编排系统,可以在单台机器上运行,也可以扩展到多台机器
Pod容器组Kubernetes 中最小的调度单位,包含一个或多个容器
Deployment部署Kubernetes 中用于管理长驻 Pod 的资源类型,支持滚动更新和自动恢复
Service服务Kubernetes 中为 Pod 提供稳定网络访问入口的资源类型
ConfigMap配置映射Kubernetes 中用于存储非敏感配置数据的资源,可以被容器读取
Secret密钥资源Kubernetes 中用于存储敏感信息(如 API 密钥)的资源
Namespace命名空间Kubernetes 中用于隔离和组织资源的逻辑分区
Service Account服务账号容器在集群中运行时使用的身份标识
hostPath宿主机目录挂载把运行容器的物理机器上的某个目录映射到容器内部
PVC持久卷声明向 Kubernetes 申请持久化存储空间的标准方式
Node节点Kubernetes 集群中的一台工作机器
agentcore智能体核心运行时容器内真正执行推理、调用工具、读写文件的可执行程序
agent package智能体包开发者提供的提示词、工具声明、配置和附带资源的集合
Session(会话)逻辑会话代表用户的一段连续对话,可以包含多轮运行
Run(运行)单次运行一次具体的执行过程,由 SessionWorker 处理
RuntimeProfile运行时配置模板描述容器镜像、资源限制、执行模式等的模板
LaunchPlan启动计划一次运行的完整不可变描述,包含所有启动参数
checkpoint检查点agentcore 保存的运行中间状态,用于后续恢复
workspace工作区每次运行独有的文件目录,存放输入和输出
backend后端控制面负责 API 接收、状态管理、会话持久化的服务进程
Helper本地桥接服务运行在用户 macOS 上的客户端,负责文件同步和本地 UI
TTL存活时间Time To Live 的缩写,指资源的自动过期时间

核心设计理念

在阅读后续文档前,请先记住以下三个关键设计原则:

  1. 逻辑连续按会话,物理隔离按运行:同一个 Session(会话)可以包含多次 Run(运行),每次运行都是一个全新的容器,但它们共享同一个会话状态目录。
  2. 镜像层负责“能跑“,状态层负责“能续“:容器镜像只包含运行时环境和工具;用户数据、对话历史、检查点文件等状态信息存储在外部挂载的目录中。
  3. 声明式编排,分层职责:后端只负责“声明需要什么资源“,真正创建和管理容器的是 K3s 系统本身。

文档阅读指南

本系列文档按照从整体到细节的顺序组织,建议按以下顺序阅读:

章节内容适合谁看
系统架构总览各组件关系与整体数据流向所有人
同步与异步语义每类操作到底是同步、异步还是混合产品、架构、开发
运行生命周期从用户发消息到获得结果的完整流程所有人
输入输出流程数据如何进入容器、结果如何产出产品经理、运维
文件挂载与访问容器如何访问工作区、会话状态和开发者包运维、开发者
外部文件访问用户文件如何从本地进入运行流程产品经理、运维
外部数据库访问Backend 如何统一访问数据库并通过协议提供给容器运维、架构师
镜像固化如何加速启动、哪些状态可以固化到镜像架构师、运维
AgentCore 与前端交互通信用户消息如何到达运行中的智能体所有人
技术可行性分析各项关键技术的可行性评估与建议架构师、决策者

如需深入了解代码层面的模块拆分,还可以参考以下技术附录: