1. Deploy Talos Linux and bootstrap a Kubernetes cluster

Install our distribution of Talos Linux on a set of virtual machines. Use Talm CLI to bootstrap a Kubernetes cluster, ready for Cozystack.

Before you begin

This tutorial assumes that you deploy a Cozystack cluster on virtual machines, which is the most universal and simple way. Make sure you have VMs and a management host that match the requirements.

Objectives

This tutorial shows how to bootstrap Cozystack. It will guide you through the following steps:

  1. Install Talos Linux on virtual machines
  2. Bootstrap Talos to run a Kubernetes cluster
  3. Get a kubeconfig, check cluster status, and prepare to install Cozystack

1 Install Talos Linux

Boot your machines with Talos Linux image in one of these ways:

2 Bootstrap Talos Cluster

Bootstrap your Talos Linux cluster using one of the following tools:

  • Talm, for a declarative way of cluster management.
  • talosctl, for using native talosctl tool.
  • talos-bootstrap, for an interactive walkthrough.

Talm is a utility tool for bootstrapping and managing Talos clusters in a declarative way.

Visit the releases page for the latest Talm binaries or use the universal installation script:

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

talos-bootstrap is an interactive script for bootstrapping Kubernetes clusters on Talos OS.

sudo curl -fsSL -o /usr/local/bin/talos-bootstrap \
    https://github.com/cozystack/talos-bootstrap/raw/master/talos-bootstrap
sudo chmod +x /usr/local/bin/talos-bootstrap
talos-bootstrap --help

Existing cluster or other Kubernetes distributions

For a first tutorial run, it’s strongly recommended to install Cozystack on bare metal. However, Cozystack can also be installed in other ways, including on top of a provided managed Kubernetes cluster.

If you bootstrap your Talos cluster in your own way, or use a different Kubernetes distribution, make sure to apply all settings from the guides above. These settings are mandatory:

  • All CNI plugins must be disabled, as Cozystack will install its own plugin.
  • Kubernetes cluster DNS domain must be set to cozy.local.
  • Listening address of some Kubernetes components must be changed from localhost to a routeable address.
  • Kubernetes API server must be reachable on localhost.