Requirements and Toolchain

Prepare infrastructure and install the toolchain.

Toolchain

You will need the following tools installed on your workstation:

  • talosctl, the command line client for Talos Linux.

  • kubectl, the command line client for Kubernetes.

  • Talm, Cozystack’s own configuration manager for Talos Linux:

    curl -sSL https://github.com/cozystack/talm/raw/refs/heads/main/hack/install.sh | sh -s
    

Hardware Requirements

To run this tutorial, you will need the following setup:

Cluster nodes: three bare-metal servers or virtual machines. Hardware requirements depend on your usage scenario:

Here are the baseline requirements for running a small installation. The minimum recommended configuration for each node is as follows:

ComponentRequirement
Hosts3x Physical hosts (or VMs with host CPU passthrough)
Architecturex86_64
CPU8 cores
RAM24 GB
Primary Disk50 GB SSD (or RAW for VMs)
Secondary Disk256 GB SSD (raw)

Suitable for:

  • Dev/Test environments
  • Small demonstration setups
  • 1-2 Tenants
  • Up to 3 Kubernetes clusters
  • Few VMs or Databases

For small production environments, the recommended configuration for each node is as follows:

ComponentRequirement
Hosts3x Physical hosts
Architecturex86_64
CPU16-32 cores
RAM64 GB
Primary Disk100 GB SSD or NVMe
Secondary Disk1-2 TB SSD or NVMe

Suitable for:

  • Small to medium production environments
  • 5-10 Tenants
  • 5+ Kubernetes clusters
  • Dozens Virtual Machines or Databases
  • S3-compatible storage

For medium to large production environments, the optimal configuration for each node is as follows:

ComponentRequirement
Hosts6x+ Physical hosts
Architecturex86_64
CPU32-64 cores
RAM128-256 GB
Primary Disk200 GB SSD or NVMe
Secondary Disk4-10 TB NVMe

Suitable for:

  • Large production environments
  • 20+ Tenants
  • Dozens Kubernetes clusters
  • Hundreds of Virtual Machines and Databases
  • S3-compatible storage

Storage:

  • Primary Disk: Used for Talos Linux, etcd storage, and downloaded images. Low latency is required.
  • Secondary Disk: Used for user application data (ZFS pool).

OS:

  • Any Linux distribution, for example, Ubuntu.
  • There are other installation methods which require either any Linux or no OS at all to start.

Networking:

  • Routable FQDN domain.
    If you don’t have one, you can use nip.io with dash notation
  • Located in the same L2 network segment.
  • Anti-spoofing disabled.
    It is required for MetalLB, the load balancer used in Cozystack.

Virtual machines:

  • CPU passthrough enabled and CPU model set to host in the hypervisor settings.
  • Nested virtualization enabled.
    Required for virtual machines and tenant kubernetes clusters.

For a more detailed explanation of hardware requirements for different setups, refer to the Hardware Requirements

Last modified 2025-11-27: Update System Requirements (2a423d1)