Skip to content

Releases: rootless-containers/usernetes

gen2-v20240814.0

14 Aug 09:52
gen2-v20240814.0
43214ce
Compare
Choose a tag to compare

What's Changed

Full Changelog: gen2-v20240527.0...gen2-v20240814.0

gen2-v20240527.0

27 May 01:55
gen2-v20240527.0
4cf7564
Compare
Choose a tag to compare

What's Changed

Full Changelog: gen2-v20240410.0...gen2-v20240527.0

gen2-v20240410.0

10 Apr 07:59
gen2-v20240410.0
65e72f6
Compare
Choose a tag to compare

What's Changed

Full Changelog: gen2-v20240404.1...gen2-v20240410.0

gen2-v20240404.1

03 Apr 18:34
gen2-v20240404.1
b5e19ab
Compare
Choose a tag to compare

What's Changed

  • Remove ip addr add "${U7S_HOST_IP}" dev eth0 by @AkihiroSuda in #323
    • Also updates Kubernetes to v1.29.2, and add the support for Rootful Docker

Full Changelog: gen2-v20240203.0...gen2-v20240404.1

gen2-v20240203.0

03 Feb 07:23
gen2-v20240203.0
a0ce8e3
Compare
Choose a tag to compare

What's Changed

Full Changelog: gen2-v20231218.0...gen2-v20240203.0

gen2-v20231218.0

18 Dec 00:07
gen2-v20231218.0
810d71e
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: gen2-v20230919.0...gen2-v20231218.0

gen2-v20230919.0

19 Sep 08:34
gen2-v20230919.0
72e178d
Compare
Choose a tag to compare
  • Support CONTAINER_ENGINE=(podman|nerdctl) in addition to docker (#305)
  • Avoid printing kubeadm token to the terminal (#307)

gen2-v20230915.0

15 Sep 03:21
gen2-v20230915.0
4f81b6e
Compare
Choose a tag to compare
  • Support VXLAN on GCP (as well as on AWS, Azure, etc.) (#300)
  • Support Rocky Linux 9 and AlmaLinux 9 hosts (#301)
  • Move init-host scripts out of the hack directory (#302)
  • Add make kubectl (#303)

gen2-v20230906.0

05 Sep 20:55
gen2-v20230906.0
9c454e1
Compare
Choose a tag to compare

This is the first release of "Usernetes Generation 2" (#287)


Usernetes: Kubernetes without the root privileges (Generation 2)

Usernetes (Gen2) deploys a Kubernetes cluster inside Rootless Docker,
so as to mitigate potential container-breakout vulnerabilities.

Note

Usernetes (Gen2) has significantly diverged from the original Usernetes (Gen1),
which did not require Rootless Docker to be installed on hosts.

See the gen1 branch for
the original Usernetes (Gen1).

Usernetes (Gen2) is similar to Rootless kind and Rootless minikube,
but Usernetes (Gen 2) supports creating a cluster with multiple hosts.

Components

  • Cluster configuration: kubeadm
  • CRI: containerd
  • OCI: runc
  • CNI: Flannel

Requirements

Note

Using Ubuntu 22.04 hosts is recommended.

curl -o install.sh -fsSL https://get.docker.com
sudo sh install.sh
dockerd-rootless-setuptool.sh install
  • systemd lingering:
sudo loginctl enable-linger $(whoami)
  • cgroup v2 delegation:
sudo mkdir -p /etc/systemd/system/[email protected]

cat <<EOF | sudo tee /etc/systemd/system/[email protected]/delegate.conf
[Service]
Delegate=cpu cpuset io memory pids
EOF

sudo systemctl daemon-reload
  • Kernel modules:
sudo modprobe vxlan

Usage

See make help.

# Bootstrap a cluster
make up
make kubeadm-init
make install-flannel

# Enable kubectl
make kubeconfig
export KUBECONFIG=$(pwd)/kubeconfig
kubectl get pods -A

# Multi-host
make join-command
scp join-command another-host:~/usernetes
ssh another-host make -C ~/usernetes up kubeadm-join

# Debug
make logs
make shell
make down-v
kubectl taint nodes --all node-role.kubernetes.io/control-plane-

Limitations

  • Node ports cannot be exposed automatically. Edit docker-compose.yaml for exposing additional node ports.
  • Most of host files are not visible with hostPath mounts. Edit docker-compose.yaml for mounting additional files.
  • Some volume drivers such as nfs do not work.

Advanced topics

  • Although Usernetes (Gen2) is designed to be used with Rootless Docker, it should work with the regular "rootful" Docker too.
    This might be useful for some people who are looking for "multi-host" version of kind and minikube.
    (Support for "rootful" is currently broken: #297)

v20230816.0

16 Aug 05:56
v20230816.0
745a35c
Compare
Choose a tag to compare

Kubernetes version: v1.28.0


Build logs (available for 90 days): https://github.com/rootless-containers/usernetes/actions/runs/5874550853/job/15929481770