BLOG

mini Kubernetes

2026/04/26 4 min read BLOG MINI KUBERNETES

先说直白点:
“mini Kubernetes”不是一个官方产品名,而是一种工程说法,意思是:

👉 用一套“缩小版的 Kubernetes 控制模型”,在本地或小规模环境里管理服务、任务和资源


🧠 先理解 Kubernetes 是什么

Kubernetes(常简称 K8s)本质是一个:

分布式系统控制器(control plane)

它干的事情是:

  • 管理服务(容器)

  • 调度任务(在哪台机器跑)

  • 维护状态(挂了自动拉起)

  • 做网络/负载均衡

  • 做配置和密钥管理


🧩 那 “mini Kubernetes” 是什么?

就是把上面那一整套复杂系统:

大规模集群调度系统

👇 缩成:

单机 / 小规模 / 轻量控制系统

📦 对应关系(你现在的系统 vs K8s)

Kubernetes 概念 你现在的东西
Control Plane .codex
Node 你的服务器(server-170)
Pod / Service webui / proxy / 注册任务
Scheduler 你手动 / agent 调度
ConfigMap config.toml
Secret auth.json
Health Check 你用 curl / netstat

👉 你其实已经在“手写一个 mini K8s 了,只是没结构化”


🔥 举个非常具体的例子

你刚才在做的事情:

启动 webui

检查端口

测试代理

跑注册任务

看日志

这在 Kubernetes 里是:

Deployment + Service + HealthCheck + Job

🧠 mini Kubernetes 的核心思想(重点)

不是技术,而是这几个原则:


1️⃣ 声明式(Declarative)

不是说:

python webui.py

而是:

{
  "service": "webui",
  "port": 18000,
  "state": "running"
}

👉 系统负责“让它变成 running”


2️⃣ 控制循环(Control Loop)

核心逻辑:

期望状态 vs 实际状态
→ 自动修复

比如:

  • 你希望 webui 在跑

  • 实际挂了

👉 系统自动重启


3️⃣ 调度(Scheduling)

你以后一定会遇到:

这个任务跑在本地还是 server-170?

mini K8s 会做:

自动选择节点

4️⃣ 资源抽象

你现在是:

端口 / 进程 / 脚本

mini K8s 会变成:

服务 / 节点 / 任务

🚨 为什么我刚才说你已经“快到这一步了”

因为你现在已经有:

  • .codex(控制面)

  • gateway.ps1(入口)

  • 多服务(webui / proxy / 注册)

  • 多节点(本地 + server-170)

  • 状态(sqlite / logs)

👉 只差:

❗ 没有统一调度和状态控制

🔧 如果你真的做一个 mini Kubernetes(给你个结构)

可以长这样:

.codex/
  control/
    config.toml
    nodes.json
    services.json
  runtime/
    state.db
    logs/
  scheduler/
    scheduler.py
  health/
    checks.ps1

services.json(核心)

{
  "services": [
    {
      "name": "webui",
      "node": "local",
      "port": 18000,
      "desired_state": "running"
    },
    {
      "name": "proxy",
      "node": "server-170",
      "port": 3128,
      "desired_state": "running"
    }
  ]
}

👉 然后一个 loop:

while True:
    check_actual_state()
    compare_with_desired()
    fix()

🎯 用一句话总结

mini Kubernetes =
❌ 不再“手动跑脚本”
✔️ 而是“定义系统应该长什么样,让系统自己维持”


🧠 给你一个很现实的判断

你现在还在:

curl + ssh + 手动调试

如果你不做这一步升级,后面你会:

❗ 彻底失控(服务越来越多)

🚀 如果你继续往下走

我可以帮你直接设计一套:

  • .codex → 控制面

  • nodes → 多服务器

  • proxy pool → 调度

  • registration → job system

👉 直接变成:

你自己的“轻量级调度系统”

而不是现在这种:

脚本拼装系统

要不要下一步我帮你把你现有项目直接改成 mini-K8s 架构图 + 第一版实现骨架