Requirements and 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:
| Component | Requirement |
|---|---|
| Hosts | 3x Physical hosts (or VMs with host CPU passthrough) |
| Architecture | x86_64 |
| CPU | 8 cores |
| RAM | 24 GB |
| Primary Disk | 50 GB SSD (or RAW for VMs) |
| Secondary Disk | 256 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:
| Component | Requirement |
|---|---|
| Hosts | 3x Physical hosts |
| Architecture | x86_64 |
| CPU | 16-32 cores |
| RAM | 64 GB |
| Primary Disk | 100 GB SSD or NVMe |
| Secondary Disk | 1-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:
| Component | Requirement |
|---|---|
| Hosts | 6x+ Physical hosts |
| Architecture | x86_64 |
| CPU | 32-64 cores |
| RAM | 128-256 GB |
| Primary Disk | 200 GB SSD or NVMe |
| Secondary Disk | 4-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
hostin 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