Design Principles
Talos Linux is built on three core principles that differentiate it from traditional Linux distributions:Security First
- No SSH or shell access - All system management happens through a secure API
- Mutual TLS (mTLS) authentication - Every API call is authenticated and encrypted
- Immutable root filesystem - The system partition is read-only, preventing runtime modifications
- Minimal attack surface - No package manager, no unnecessary services, no persistent logs on disk
- Hardened by default - KSPP (Kernel Self Protection Project) parameters enforced at boot
Predictable Operations
- Immutable infrastructure - Systems are replaced, not modified
- Declarative configuration - Machine config defines the desired state
- Atomic updates - A/B partition scheme enables safe rollbacks
- No configuration drift - Every machine starts from the same immutable image
API-Driven Management
- Everything through gRPC - No SSH, no shell, no imperative commands
- Role-based access control - Admin, Operator, Reader, and specialized roles
- Real-time event streaming - Watch system events as they happen
- Programmatic by design - Easy to automate and integrate
System Architecture
Talos Linux consists of several core components that work together to provide a complete Kubernetes platform:Boot Process
Talos Linux follows a carefully orchestrated boot sequence that ensures all dependencies are met before services start:Boot Stages
-
Early Boot
- Kernel initialization with KSPP parameters
- Root filesystem mounted as read-only
- Hardware detection and module loading
-
Configuration Acquisition
- Machine config loaded from disk, network, or platform metadata
- Config validation and contract checking
- Secrets generation or retrieval
-
Network Initialization
- Network interfaces configured
- Hostname resolution
- Time synchronization
-
Service Startup
containerdstarts first (base container runtime)apidandtrustdstart (API and PKI services)kubeletstarts on all nodesetcdstarts on control plane nodes
-
Kubernetes Cluster
- Control plane components start
- Node joins the cluster
- Workloads can be scheduled
Sequencer Tasks
The boot process is managed by a sequencer that executes tasks in order. Key tasks include:WaitForUSB- Waits for USB storage devices to be detectedEnforceKSPPRequirements- Applies kernel security parametersLoadConfig- Acquires and validates machine configurationStartServices- Brings up system services with dependency resolution
internal/app/machined/pkg/runtime/v1alpha1/v1alpha1_sequencer_tasks.go
Storage Layout
Talos uses a specific partition layout designed for immutable operations:Talos uses an A/B partition scheme for the root filesystem, enabling atomic updates with automatic rollback on failure.
| Partition | Purpose | Mutable |
|---|---|---|
| EFI System | Boot loader and kernel images | Updated during upgrades |
| BOOT-A | System partition A | Immutable (read-only) |
| BOOT-B | System partition B | Immutable (read-only) |
| STATE | Machine configuration and PKI | Mutable |
| EPHEMERAL | Runtime data, container images | Mutable |
A/B Updates
When upgrading Talos:- New system image written to inactive partition (A or B)
- Bootloader updated to point to new partition
- System reboots into new partition
- If boot fails, bootloader automatically falls back to previous partition
- After successful boot, old partition becomes the standby
Configuration Model
Talos uses a declarative configuration model defined in the machine config:The machine config is the single source of truth for a Talos node. It’s validated against a schema and can be patched programmatically.
- Machine config - Node-specific settings (networking, disks, sysctls)
- Cluster config - Kubernetes cluster settings shared across nodes
- Install config - Disk layout and installation parameters
Controller Runtime (COSI)
Talos uses COSI (Common Operating System Interface) as its internal state management system:- Resources - Typed objects representing system state (network, runtime, secrets)
- Controllers - Reconcile desired state with actual state
- Dependency graph - Controllers declare dependencies for proper ordering
- Event-driven - Controllers react to resource changes in real-time
network.AddressStatus- Network interface addressessecrets.API- API server certificatesk8s.KubeletSpec- Kubelet configurationetcd.Spec- etcd cluster settings
Next Steps
Core Components
Deep dive into machined, apid, containerd, and other system services
Security Model
Learn about Talos security architecture and mTLS authentication
Networking
Understand network architecture and CNI integration
API Reference
Explore the complete Talos API