Skip to main content
Talos Linux is an operating system built only to run Kubernetes. It is immutable, has no shell or SSH, and is managed entirely through an API. Ankra runs everything that goes on top of it. Talos stops at a healthy, conformant Kubernetes API, and that API is where Ankra starts. The two share a philosophy. Both are declarative and API-driven, and both take hand-run commands out of production: Talos removes SSH from the node, and Ankra changes the cluster only from Git through its own engine and governed access. Together, no layer of the estate is changed by hand. A Talos cluster joins Ankra as an imported cluster. Nothing about how you run Talos has to change.

How the layers fit

The Kubernetes API is the only contract between the two layers. Talos keeps it healthy and secure; the Ankra Agent uses it for everything Ankra deploys and observes.

What Talos gives you

  • Immutable and minimal. A read-only root filesystem, no package manager, no shell and no SSH, so there is very little on a node to patch or attack.
  • API-managed. Every node is configured from a machine config through the talosctl API, authenticated with mutual TLS.
  • A declarative node lifecycle. Bootstrapping, joining nodes, OS upgrades and Kubernetes upgrades all go through the same API.
  • Secure defaults. Hardened kernel and services, KubeSpan for encrypted node-to-node networking, and disk encryption.
  • Runs anywhere. Bare metal, VMs, Proxmox and the major clouds, often managed at scale with Sidero Omni.
When Talos has done its job you have a hardened, conformant and empty Kubernetes cluster. What goes into it, and how it is run day to day, is out of its scope.

What Ankra adds that Talos leaves out

Each row is something a Talos team otherwise has to build and run itself. Talos secures and runs the machine; Ankra runs what the machine is for.

Connect a Talos cluster

1

Build the cluster with Talos

Create it as you normally would - talosctl gen config, talosctl apply-config and talosctl bootstrap, or a cluster in Omni - and confirm the Kubernetes API is healthy.
2

Import it into Ankra

Go to Clusters, click Import Cluster, and run the agent install command the dialog shows against the Talos cluster. Import an existing cluster walks through the dialog. ankra cluster agent token prints the cluster’s agent token again if you need it.
3

Check the connection

The agent reports as connected and the cluster’s nodes and Kubernetes version appear in the portal.
4

Declare the platform in Git

Write an ImportCluster file that points at your GitOps repository and declares your first Stack:
Check it, stage it for review, then apply it:
5

Add the rest as Stacks

Monitoring, cert-manager, storage, policy and your applications each go in their own small Stack, with every chart version pinned.

Who owns what on day 2

Each recurring task has exactly one owner, so the two never fight over the same object. Keep the talosconfig with a small infrastructure group and give everyone else access through Ankra, so developers and on-call engineers never need cluster-admin credentials.

Things to know

Ankra does not build or upgrade Talos clusters. Ankra builds kubeadm and k3s clusters on its Ankra Managed providers, and ankra cluster upgrade applies only to those. On Talos, the OS and the Kubernetes version stay with talosctl or Omni.
  • Pod Security admission. Talos enforces the baseline Pod Security level by default. A workload that needs more - a CNI or storage agent, or a debug pod that needs host access - needs its namespace labelled pod-security.kubernetes.io/enforce: privileged. Put that label on the namespace manifest in the Stack, so it is in Git with everything else.
  • The CNI. Talos ships Flannel by default. To run Cilium instead, turn off the default CNI in the machine config and install Cilium as an Ankra add-on in deploy wave 0, so every other Stack waits for networking.
  • No second GitOps controller. Ankra’s engine syncs your Stacks from Git, so you do not need to run another one beside it.
  • Omni works alongside Ankra. Omni manages Talos machines and clusters; Ankra manages what runs inside them. They sit on different layers.