Supported Operating Systems

This page lists the operating systems Tarook supports for each node type. Operating systems not listed here are not officially supported.

Tarook distinguishes between the following support levels:

Supported

Tested and maintained by the Tarook project. Suitable for production clusters.

Known to work

Known to work and accepted for bug reports, but not covered by automated testing. Fixes are provided on a best-effort basis.

Experimental

Can be used, but may not be fully supported, yet. Known issues and breaking changes are possible. Not recommended for production clusters.

Deprecated

Support will be discontinued in a future release. See the Deprecation Policy.

CPU Architecture

Tarook only supports the x86_64 (amd64) architecture, for both gateway nodes and Kubernetes nodes. Other architectures, such as arm64 (aarch64), are not supported.

Gateway Nodes

Gateway nodes are individual machines running in front of the cluster when using OpenStack as undercloud. They act as frontend nodes, see Architecture Overview.

Operating system

Release

Support level

Debian

12 (Bookworm)

Known to work

Debian

13 (Trixie)

Supported

Kubernetes Nodes

This applies to both control plane and worker nodes (including GPU workers).

Operating system

Release

Support level

Ubuntu

22.04 LTS (Jammy Jellyfish)

Deprecated [1]

Ubuntu

24.04 LTS (Noble Numbat)

Supported

Ubuntu

26.04 LTS (Resolute Raccoon)

Supported

Debian

13 (Trixie)

Experimental [2]

Important

Recent kubeadm versions have a known issue (#909) on operating systems that use systemd-resolved, which affects all operating systems listed above. Set resolvConf for kubelet to /run/systemd/resolve/resolv.conf explicitly. The recommended place is yk8s.kubernetes.kubelet.defaultOptions:

yk8s.kubernetes.kubelet.defaultOptions = {
  resolvConf = "/run/systemd/resolve/resolv.conf";
};

To set it only for some nodes, use yk8s.kubernetes.kubelet.masterOptions, yk8s.kubernetes.kubelet.workerOptions or yk8s.kubernetes.kubelet.nodeOptions instead.