You are viewing documentation for Cozystack v1, which is currently in beta. For the latest stable version, see the v0 documentation.
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.
BIOS/UEFI Settings:
- Secure Boot must be disabled.
Secure Boot is currently not supported and must be disabled in the BIOS/UEFI settings before installation.
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