5 个版本

0.0.5 2024年1月29日
0.0.4 2022年7月7日
0.0.3 2022年3月23日
0.0.2 2020年1月31日
0.0.1 2020年1月31日

#3 in #kubectl

MIT 许可证

31KB
664

Kubernot (k0s)

go.dev reference Go 1.18+ License DockerHub Buildkite @kubernot


非 Kubernetes

Kubernot 是一个具有类似 Kubernetes UX 的实验性 SSH 代替品,其中

  • scp 变为 kubectl cp
  • ssh 变为 kubectl exec
  • ssh -L 变为 kubectl port-forward

名称 Kubernot许多人 启发。

缩短为 k0s,模仿了 k8s 的拼写,因为 Kubernot 是为了与 Kubernetes 相似而制作的,但它不是它的发行版。

这种简写形式应读作“chaos”而不是“kay-zero-es”,以区分 Mirantis 的 k0s

与 SSH 不同,Kubernot 采用 Kubernetes 的客户端-代理-服务器模型,允许访问防火墙后面的节点。

客户端 代理 服务器
SSH ssh - sshd
Kubernot kubectl knot kuber
Kubernetes kubectl kubelet kube-apiserver

Kubernot 有两个主要组件: kuberknot

  • Kuber 实现了 Kubernetes API 的最小子集,因此与 kubectl 兼容。

    它是根据 kube-apiserver 直接建模的。

  • Knot 是 Kubernetes 中 kubelet 的等价物。

    它可以在 Windows / BSD / Android / Chrome(通过 WASI)等目标上运行,因为它只处理进程、套接字和文件 - 不需要容器支持。


入门

k0s 是 Kubernot 的多调用二进制文件。

kubectl 也作为子命令捆绑,以便方便使用。

要安装它,运行

$ go install k0s.io/cmd/k0s@latest

要启动服务器,运行

$ k0s kuber

然后将 kubectl 指向 http://127.0.0.1:8000 并打印版本

$ k0s kubectl -s http://127.0.0.1:8000 version

鸣谢

依赖项

~81MB
~1.5M SLoC