Configuration Structure
Talos uses a multi-document YAML configuration system with the mainv1alpha1 document containing most configuration options:
Configuration Types
Talos configuration is organized into several key areas:Machine Configuration
Machine-specific settings that define how individual nodes operate:- Machine type (control plane or worker)
- Installation options
- Network configuration
- Storage and disk configuration
- Kubelet settings
- System extensions
Cluster Configuration
Cluster-wide settings shared across all nodes:- Control plane endpoint
- Cluster name and secrets
- Kubernetes component configuration (API server, controller manager, scheduler, etcd)
- Pod and service network CIDRs
- Extra manifests and inline manifests
Generating Configuration
Use thetalosctl gen config command to generate machine and cluster configurations:
controlplane.yaml- Control plane node configurationworker.yaml- Worker node configurationtalosconfig- Admin credentials for cluster access
The cluster endpoint should be a stable address (load balancer or VIP) that points to the control plane nodes.
Example Generation
Configuration Validation
Talos validates configuration documents during:- Configuration generation
- Node bootstrap
- Configuration updates via
talosctl apply-config
- Required fields are present
- Field values are within acceptable ranges
- Network CIDRs don’t overlap
- Certificate validity
- Disk selectors are valid
Applying Configuration
Apply configuration to nodes using:Configuration Modes
How to apply the configuration:
auto- Apply and reboot only if necessaryreboot- Always reboot after applyingno-reboot- Apply without rebooting (staged for next boot)try- Try the config and rollback if issues occur
Configuration Patching
Modify existing configurations using patches:Multi-Document Configuration
Talos supports multiple configuration documents in a single file for advanced configurations:- Main configuration (
v1alpha1) VolumeConfig- Storage volumesNetworkDeviceConfig- Network interfacesExtensionServiceConfig- System extensions- And many more specialized documents
Configuration Best Practices
Version Control
Store all configuration files in version control:- Track changes over time
- Enable rollback capabilities
- Document configuration evolution
- Enable GitOps workflows
Secrets Management
Consider:- Using sealed secrets or encryption at rest for configs in git
- Generating configs dynamically in CI/CD
- Using separate secret management tools
Environment Separation
Maintain separate configurations for:- Development environments
- Staging/testing environments
- Production environments
Next Steps
Machine Configuration
Configure individual machine settings
Cluster Configuration
Set up cluster-wide options
Network Configuration
Configure networking for your nodes
Storage Configuration
Set up disks and volumes