0. Requirements and Toolchain

Prepare hardware and install the toolchain.

Hardware Requirements

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

Cluster nodes: three bare metal servers or virtual machines in the following minimal configuration:

  • CPU: 4 cores, x86 architecture.
  • RAM: 16 GiB.
  • Hard disks:
    • HDD1: 32GiB
      Primary disk, used for Talos Linux, etcd storage, and downloaded images.
    • HDD2: 100GiB
      Secondary disk, used for user application data.
  • 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.
      Cozystack can be deployed with a variety of networking options, but for this tutorial it’s best to use a simple configuration.
  • Anti-spoofing disabled.
    It is required for MetalLB, the load balancer used in Cozystack
  • If using virtual machines, there are extra requirements:
    • 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

Toolchain

You will need the following tools installed on your workstation:

  • talosctl, the command line client for Talos Linux.
  • Talm, Cozystack’s own configuration manager for Talos Linux.
    There are other options for configuration, such as using talosctl, but this tutorial offers the most simple way.
  • kubectl, the command line client for Kubernetes.

Of course, your workstation will need network access to the cluster nodes.