rootless-containers / usernetes

Kubernetes without the root privileges
https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/2033-kubelet-in-userns-aka-rootless
Apache License 2.0
853 stars 58 forks source link

Rely on Rootless Docker/Podman/nerdctl for simplifying multi-host cluster setup (similar to `kind` and minikube KIC but for multi-host) #286

Closed AkihiroSuda closed 10 months ago

AkihiroSuda commented 10 months ago

The current "hard way" shell scripts are really hard to maintain.

Maybe we should consider relying on Rootless Docker/Podman/nerdctl, so that we no longer need to run rootlesskit.sh and other bunch of helper scripts to set up the user namespace.

This has been already possible with kind and minikube (for Rootless Docker and Rootless Podman), but they do not support deploying a cluster on multiple hosts (by design), so probably we have to fork them.

Also, I guess there has been already a third party project to deploy a multi-node cluster using (rootful) Docker. Maybe we can rewrite it to use Rootless Docker.

Bootstrapping

A cluster should be bootstrappable with the upstream kubeadm.

Multi-node networking

VXLAN (Flannel). The UDP port for VXLAN have to be exposed with docker run -p

NodePort

The node port number will have to be decided and exposed on running docker run -p, as Docker does not support dynamically updating the -p ports.

Persistent data

etcd data and persistent volumes have to be mounted with docker run -v

AkihiroSuda commented 10 months ago