5 releases
| 0.0.5 | Jan 29, 2024 |
|---|---|
| 0.0.4 | Jul 7, 2022 |
| 0.0.3 | Mar 23, 2022 |
| 0.0.2 | Jan 31, 2020 |
| 0.0.1 | Jan 31, 2020 |
#25 in #kubectl
25 downloads per month
31KB
664 lines
Kubernot (k0s)
Not Kubernetes
Kubernot is an experimental SSH alternative with Kubernetes-like UX, where
-
scpbecomeskubectl cp -
sshbecomeskubectl exec -
ssh -Lbecomeskubectl port-forward
The name Kubernot is inspired by many.
It shortens to k0s, mimicking the spelling of k8s, because Kubernot is made to resemble Kubernetes, while not being a distro of it.
The shortened form should be pronounced as "chaos" not "kay-zero-es" in order to distinguish from Mirantis' k0s.
Unlike SSH, Kubernot adopts the client-agent-server model from Kubernetes that allows access to nodes behind a firewall.
| client | agent | server | |
|---|---|---|---|
| SSH | ssh | - | sshd |
| Kubernot | kubectl | knot | kuber |
| Kubernetes | kubectl | kubelet | kube-apiserver |
Kubernot has two major components: kuber and knot:
-
Kuber implements a minimal subset of The Kubernetes API, and is therefore compatible with kubectl.
It is directly modelled after kube-apiserver.
-
Knot is the equivalent of kubelet in Kubernetes.
It runs on targets like Windows / BSD / Android / Chrome (via WASI), since it only deals with processes, sockets and files - no container support is required.
Getting Started
k0s is the multicall binary of Kubernot.
kubectl is also bundled as a subcommand for convenience.
To install it, run:
$ go install k0s.io/cmd/k0s@latest
To start the server, run:
$ k0s kuber
then point kubectl to http://127.0.0.1:8000 and print the version:
$ k0s kubectl -s http://127.0.0.1:8000 version
Credits
Dependencies
~67MB
~1M SLoC


