
我的云原生定义文 / LECREATE项目开源地址github.com/dutyc/ipxe-all-ready人们看到我的项目时总说哦那个做无盘启动的。我不怪他们。无盘确实是它最外层的样子。但今天我想亲自写下我对云原生的定义也顺便把一件事说清楚iPXE-All-Ready 从来不是一个简单的无盘项目。一、过去十年的云原生只有一半今天人们说云原生说的是容器、K8s、微服务、声明式、弹性伸缩。都对都好——它们让应用变成了无状态的、可调度的、不绑死在某台机器上的东西。但没有人问过Pod 脚下那群节点是谁装的系统坏了谁去机房重装硬件换代谁一台台迁移K8s 不回答。它优雅地转过身把那一层当作“别人会搞定的事”。于是过去十年的云原生是从操作系统之上开始的云原生。它把应用变成了水汽脚下的算力却还是一块块冰——沉重、固定、绑死在铁盒子里坏一次就要人重新冻一块。我们花了十年让云上的一切都流动起来——除了云自己踩着的那块地。那不是云原生。那是一半的云原生。二、我的定义让算力成为水汽从上到下没有一块冰云的本质不是“在别人的机房里跑虚拟机”。云的本质是一句话算力不绑定任何具体硬件。它没有固定形状需要时凝聚成形不需要时消散无踪从哪里来、到哪里去无需关心。水不记得自己上一刻在哪朵云里算力也不该记得自己上一刻在哪台机器上。所以我的定义朴素到近乎粗暴真正的云原生是把“无状态”贯彻到算力层本身——让应用是水汽让承载应用的算力也是水汽。从上到下全是水汽没有一块冰。K8s 用十年让应用成为了云。我要做的是让算力成为云。两层合流的那一天“云原生”这个词才第一次完整。三、无盘是手段无状态才是灵魂现在解释为什么我的项目不是无盘项目。无盘是物理形态——没有本地硬盘。但我想要的从来不是“没有盘”而是无状态计算节点不持有任何属于自己的持久状态身份、系统、数据全部由网络和控制面在外部赋予可丢弃、可替换、可瞬间重建。无盘的本质是身份寻址启动那一刻要回答“以谁的身份、连哪个目标、挂哪块盘”。整个行业过去都把这三个答案写死在机器里——Linux 焊进 initramfs每加一台机器人就要去做一次手术。我做的是把答案从机器里拿出来交给网络iPXE 在启动瞬间写入 iBFT 表控制面经动态变量链注入真实身份盘里不写死任何一个字节的机器身份。让身份流动起来。身份流动盘就与机器解耦盘与机器解耦算力就成为可以在任意载体间流动的自由粒子。无盘只是这个过程最外层的表象。四、盘与机器解耦虚拟化行业有一道二十年的墙VM 里的系统想落到物理机要做 P2P 转换——换驱动、换引导、换 HALWindows 直接蓝屏。墙的本质是系统和它运行的硬件耦合了。我的答案是让系统对硬件脱敏通用驱动注入、统一的 iPXE/iBFT 引导链、盘只是一块纯净的 iSCSI LUN。盘里的操作系统从头到尾不知道、也不需要知道自己跑在 VM 里还是物理机上。虚拟机里跑着的系统盘可以一键换到物理机上跑——反之亦然。没有转换没有重装没有迁移因为本来就没什么可迁的盘一字未动只是挂载它的那双手换了。当算力可以在“虚拟机”与“物理机”这两个隔绝的世界间自由漂移被打破的就不是一个功能而是一道本体论的边界。从那一刻起无盘就不再是无盘——它是算力的自由。五、同一种语义贯穿所有层这套无状态交付语义不区分物理机和虚拟机。PVE 长在 Debian 系上所以 PVE 自己可以无盘启动而无盘启动的 PVE 里虚拟机可以继续无盘启动。一层套一层同一种范式重复自己。这意味着本项目不是某一层的方案而是一个贯穿所有计算层的元协议。K8s 统一了容器层我统一的是“一切能从网络启动的计算单元”这个更大的集合——无论它跑在铁上还是跑在 hypervisor 里。真正的云原生架构本该如此自相似、可嵌套、没有层级天花板。不是一层云是层层皆云。六、谁不想呢——到时候连家庭数据中心都想我从不认为我在创造需求。谁不想让机器插上网线就活过来谁不想让盘在虚与实之间自由漂谁不想坏了就换、不用凌晨三点去机房谁不想硬件换代时几百台机器一键漂完谁不想自己的基础设施看得懂、改得动、不被任何厂商绑架这不是技术选择这是企业本能——就像当年谁不想部署 K8s。这个本能在裸金属层悬了二十年没人接住。我只是接住了它。而它不会停在企业机房。谁不想呢——到时候连家庭数据中心都想。你家里的 NAS、软路由、跑着 Home Assistant 的小主机和企业机房是同一种痛只是规模更小。当无状态在企业层被酿成空气它必然溢出到每一个家庭让每一个普通人对自己的数字生活说一句它是我的它是自由的它不被任何一块随时会坏的硬盘绑架。云原生的主语终将从企业的 CTO扩展到每一个普通人。而我的路通向那里。七、“不插网线就不能启动”对无状态云原生常有人抛来一个问题不插网线就不能启动了吧是的。我坦然承认。但这个问题的逻辑就像拿着蜡烛对电灯说你看没有电你就亮不了。没错。电灯确实没有电就亮不了。初代的电灯泡确实不稳定——闪烁、短命和今天的灯泡没有办法比。但它的意义是重大的它第一次把“光”接进了“电网”。后来者并没有因为初代灯泡不稳定而抛弃电灯他们优化灯丝、改进真空、升级迭代把灯泡做成了今天这个没人会去想一下的东西。“不插网线就不能启动”和“没有电就亮不了”是同一种事实它不是缺陷它是属性。它意味着算力第一次接进了电网——身份、系统、数据由网络供给就像光由电网供给。蜡烛自己带着火种确实更“稳定”但它永远是蜡烛它的光永远受限于那一截灯芯。今天没有人因为担心“电网万一断了”就常年点着蜡烛、拒绝电灯。我们接受电网的存在为前提然后在这个前提上建冗余、建韧性。网络也一样该建的是高可用而不是退回到本地盘。总有一天无状态云原生一定会像水和电一样——曾经是不敢想后来变成不用想。八、协议可以换方向不会换有人会问如果有一天iSCSI 落后了呢那就换协议。iSCSI 可以换方向不会换。我树立的是方向身份流动、盘与机器解耦、算力不绑定任何具体硬件。iSCSI 只是承载这个方向的第一代载体。是的会有新的协议、新的实现方式——就像灯泡的灯丝被换过很多代但“从电网取光”这件事从来没有被换掉。总有一天存储节点会碰到它的瓶颈。到那时我也有可能会去研究下一代存储协议。那不是对今天这套工作的背叛而是它的延续——灯泡迭代了一百年没有人说电灯当年错了。方向已经树立起来了。这条路不是我一个人走到黑的认出这个方向的人我们一起走。大家一起努力。九、结语有人问这一切什么时候到来我不急。路一寸一寸铺坑一个一个填剩下的交给时间。All 是真的 AllReady 是真的 Ready。而我想说的自始至终只有那一句是的这就是云原生。关于项目如果你也认同“让算力成为水汽”的方向或者你手里正好有一片机房、几台裸金属欢迎来看看我铺的这条路GitHub 仓库github.com/dutyc/ipxe-all-readyPhase 1 刚刚收官路还很长。点个 Star 作为见证提个 Issue 交流想法或者在你的机器上跑一跑。方向已经树立我们一起努力。