Kurrent周流
Stateless compute · System as the unit
周流六虚,上下无常
刚柔相易,唯变所适
——《周易·系辞下》
云原生 · 无状态 · 裸金属

计算不该
被硬件占有。

Kurrent 把身份、系统与状态从机器上剥离。节点保持空,系统成为调度的唯一单元。机器只是系统此刻所在的位置。

00命题

无状态,是让机器重新变得可替换。

不是把状态藏到看不见的地方,而是让每一份状态都有明确的归属,让节点回到“位置”这个唯一角色。

节点可以被拔走、替换、重新上架,而系统仍然成立。

因为系统从来不在那台机器里。

身份在设备台账,系统盘在存储侧,声明在版本库,凭据由控制面签发。机器上留下的,只有一次启动所需的临时连接。
01单元

调度一整个系统,而不是机器上的一段负载。

一个系统由四件事共同定义。它们一起移动、一起存在、一起被替换;拆开任何一件,都不是同一个系统。

对象内容归属
身份Worker 标识、主机名、绑定的设备公钥设备台账 / 控制面
系统盘完整盘 NQN、os_tag、镜像版本存储节点
声明kurrent.yaml:网络、后端、数据目录、NQN 命名域版本库 / 节点
凭据DHHC-1 认证密钥;由它派生的 TLS PSK控制面 / 目标端
节点不持有以上任何一项空
02状态

状态回归系统本身,而不是外置成另一层基础设施。

系统盘承载完整系统,凭据跟着盘走,绑定关系有唯一权威。没有为了“无状态”而额外引入一层存储抽象。

/ 持久化

盘即是系统

启动、运行与数据都在同一块盘上。盘被移动,系统随之移动;不需要把状态拆进另一套卷与快照体系。

/ 授权

绑定即认证

设备与 Worker 一对一。开机时只向绑定的设备下发它所属系统的连接信息;绑定关系就是认证边界。

/ 交付

一次启动,一条边界

引导链负责把系统交给下一次启动。它是交付入口,不是项目本体;项目调度的是系统,不是启动过程。

Fig. 1 — 状态的归属:节点为空,系统有址。

03验证

已验证发行版。

下列发行版已完成整机冷启动验证;验证范围不构成发行版限制。

/ 整机启动
Debian 12/13
Ubuntu 24.04/26.04
Fedora 44
冷启动至系统登录
/ 数据面
4421
NVMe/TCP · TLS 1.3
固件段与内核段共用
/ 认证
DHHC-1
建盘即签发
轮换 / 吊销即时生效
/ 明文
无
缺密钥或端口未就绪
拒绝引导