Kinetal 是一个面向 AI Agent 的编排与调度系统。它借鉴 Kubernetes 的控制平面思想,但目标不是管理容器,而是管理可协作、可调度、可恢复的 Agent 执行单元。
- 把 Agent 当作一等公民:Agent 不是脚本片段,而是可声明、可部署、可治理的运行对象
- 把编排和调度分开:编排负责“做什么、怎么协作”,调度负责“在哪个节点执行”
- 把期望状态变成现实:用户提交声明式资源,系统通过控制循环持续收敛
- 把执行层抽象出来:节点上的 kinlet 负责实际运行、心跳、状态同步和 runtime 管理
- 把工作流纳入系统:
AgentWorkflow和AgentPolicy让多步骤 Agent 编排成为一等公民
用户 / kinctl
-> kin-apiserver (资源入口与状态存储)
-> kin-controller (期望状态收敛)
-> kin-scheduler (节点放置决策)
-> kinlet (节点执行与运行时管理)
- 控制平面:
kin-apiserver、kin-controller、kin-scheduler - 执行平面:
kinlet - 交互层:
kinctl、REST API
AgentPod 是最小的调度与执行单元。它代表一组需要共享上下文、工具和生命周期的 Agent。
AgentDeployment 负责描述长期运行的 Agent 工作负载,并通过副本和滚动更新维持期望状态。
KinNode 表示可被调度的执行节点,由 kinlet 注册并持续上报健康与容量信息。
- Scheduler 根据
node_selector、tolerations、affinity和节点容量做放置决策 - Controller 负责 Deployment / ReplicaSet / Pod 的持续收敛
- Kinlet 负责 Agent runtime、生命周期、心跳和本地状态同步
src/apiserver:API 服务src/controller:控制器管理器与资源收敛逻辑src/scheduler:AgentPod 调度器src/kinlet:节点执行代理src/ari:runtime 抽象与实现src/kinctl:命令行客户端docs/:设计、使用和运维文档
仓库当前已经包含:
- API Server、Scheduler、Controller、Kinlet、Kinctl 的基础骨架
- AgentPod / AgentDeployment / KinNode 等核心资源定义
- AgentWorkflow / AgentPolicy 的编排层资源与控制器
- 基于 etcd 的资源存储与 watch 机制
- kinlet 上的 runtime 抽象与多实现支持
如果你想把它继续演进成“真正的 Agent 编排调度平台”,下一步建议重点补齐:
- 编排语义:Workflow、Task、Policy、Placement Group
- 调度能力:队列、优先级、配额、抢占、亲和/反亲和
- 运行时治理:健康检查、重试、隔离、可观测性
- 多租户能力:Namespace、RBAC、资源配额、审计
cargo build --release
./target/release/kin-apiserver &
./target/release/kin-scheduler &
./target/release/kin-controller &
./target/release/kinlet --node-name node-1 &
./target/release/kinctl get nodes