KubePivot · kp

把云抽象成一个命令行。

AI 决定,kp 执行。每一步,都有确定的结果。

单二进制 0 依赖 不依赖任何 Kubernetes 发行版 不引入 client-go
三层:AI 决定(不确定)→ kp 执行(确定)→ K8s 生效(物理)

AI 该决定「做什么」,而不是「怎么做」

让 AI 直接调 K8s API,它每次走的路可能都不一样。走错了,没人接住——删掉的资源回不来,半途失败的升级卡在那儿,也没人说得清改了什么。

kp 把「怎么做」固定下来:一个确定性系统,有状态机、有版本、能回滚、可验证。AI 只负责决定。

两条路:直接调 K8s API,或者敲 kp

它能提供

安全

敢让 AI 碰集群

AI 走的是 kp,不是裸 API。改坏了,会被拉回声明。

确定

要么全成,要么回到部署前

部署是原子的。改了就有新版本,也不会有「悄悄改了、没人知道」。

省事

一条命令,从 0 到线上

骨架、构建、下发、校验、收敛——都在 kp deploy 里。

从声明,到 RUNNING

分层、校验、逐层下发、等真正就绪。部署是原子的——要么全成,要么回到部署前。不用你盯着。

$ kp init --name myapp
✓ 骨架已生成 configs/ · deployments/ · Dockerfile · 应用入口

$ kp deploy
✓ 已就绪

$ kp status
✓ RUNNING 期望与实际一致
kp deploy 的流程:读声明 → 分层 → 前置校验 → 逐层部署 → 就绪校验 → RUNNING

不用从空白文件开始

一条命令出项目骨架:声明、chart、Dockerfile、应用入口。探针、端口、资源、健康检查都已经填好。内置 12 种语言。

kp init 生成项目骨架,内置 12 种语言

要写的,比你想象的少

一个服务,原生 k8s 要写 Deployment、Service、探针、资源好几份声明;在 kp 里就这几行。

原生 k8s · ~35 行
# deployment.yaml(截断)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: api
spec:
  replicas: 3
  selector:
    matchLabels: {app: api}
  template:
    metadata:
      labels: {app: api}
    spec:
      containers:
        - name: api
          image: registry/api:v1.2.0
          ports:
            - containerPort: 8080
          livenessProbe:
            httpGet: {path: /healthz, port: 8080}
          readinessProbe:
            httpGet: {path: /ready, port: 8080}
          resources:
            requests: {cpu: 100m, memory: 128Mi}
            limits: {cpu: 500m, memory: 256Mi}
---
apiVersion: v1
kind: Service
metadata:
  name: api
spec:
  selector: {app: api}
  ports: [{port: 80, targetPort: 8080}]
# 还有:HPA、Ingress、PDB、滚动策略、ServiceAccount…
kp · 5 行
components:
  - name: demo-api
    image: api
    port: 8080
    replicas: 3

chart、Dockerfile、探针、资源、滚动策略,kp 都生成好了。改完让 kp status / kp diff 检查——kp 不替 AI 写字,它让 AI 写的东西能被验证。

写完怎么办

让 kp 检查

AI 会告诉你「改好了」。kp 给的是可核对的结论——对不上就报出来,对得上你才敢信。

kp status现在跑的,是不是你要的。
kp diff差在哪——语义级差异,不是文本 diff。
kp doctor环境、配置、依赖有没有毛病。
kp compat这次改动会不会破坏对外 API。

它不给意见,给证据——所以 AI 能自己发现错、自己改对,不用你盯着。

一个二进制,哪儿都能跑

不引入 client-go,不依赖任何 Kubernetes 发行版。笔记本、CI、任何集群——一个 kubeconfig 就够了。集群里也只放一个组件。

kp 不进集群也能干活,在集群里只放一个 controller

四个模块,就是全部

init建项目骨架。内置 12 种语言,探针、端口、资源、健康检查都已填好。
deploy构建、下发、灰度、回滚。确定性都在这一层。
controller盯着集群,把被改坏的东西拉回声明。
scheduler部署时给一个落点建议,不接管调度。

一分钟,演示结果

从零建项目、加两个服务、部署、看状态、下线——整个过程都在这段终端里。

聊聊

你正在让 AI 碰集群,又不放心——说说你的场景。