Aller au contenu

Talos Linux

Deployme.cloud utilise Talos Linux comme système d’exploitation pour tous ses clusters Kubernetes. Ce choix est au coeur de notre proposition de valeur.

Talos Linux est un OS immuable et minimaliste conçu exclusivement pour exécuter Kubernetes. Contrairement à une distribution Linux traditionnelle (Ubuntu, Debian, CentOS), Talos :

  • N’a pas de SSH — aucun accès shell
  • N’a pas de package manager — pas d’apt, yum ou pacman
  • Est entièrement géré via API — configuration déclarative
  • Est en lecture seule — le système de fichiers root est immuable

Sécurité renforcée

Pas de SSH, pas de shell, surface d’attaque minimale. Aucun accès interactif possible sur les nodes.

Immuabilité

Le système de fichiers est en lecture seule. Aucune dérive de configuration possible.

Mises à jour atomiques

Les mises à jour sont appliquées en une seule opération. En cas d’échec, rollback automatique.

API-first

Toute la configuration se fait via l’API Talos (talosctl). Parfait pour l’automatisation.

CaractéristiqueOS traditionnel (Ubuntu, etc.)Talos Linux
Accès SSHOuiNon
Shell interactifOui (bash, zsh)Non
Package managerapt, yum, etc.Non
ConfigurationFichiers + SSHAPI déclarative
Mises à jourapt upgrade (risqué)Atomiques + rollback
Système de fichiersLecture/écritureLecture seule (root)
Surface d’attaqueLargeMinimale
Dérive de configurationPossibleImpossible

Chaque node Talos est configurée via un document YAML appelé machine configuration. Ce fichier définit :

  • Le rôle du node (control plane ou worker)
  • La configuration réseau
  • Les paramètres du cluster Kubernetes
  • Les certificats et secrets
# Exemple simplifié de machine configuration
machine:
type: controlplane
token: "<token>"
ca:
crt: "<certificate>"
key: "<key>"
network:
hostname: cp-1
interfaces:
- interface: eth0
dhcp: true
cluster:
controlPlane:
endpoint: https://cluster.deployme.cloud:6443
clusterName: mon-cluster
network:
podSubnets:
- 10.244.0.0/16
serviceSubnets:
- 10.96.0.0/12

talosctl est l’outil en ligne de commande officiel pour interagir avec Talos Linux. Deployme.cloud l’utilise en interne pour :

  • Bootstrapper les clusters
  • Appliquer les configurations
  • Effectuer les mises à jour
  • Vérifier l’état des nodes
Fenêtre de terminal
# Exemples de commandes talosctl
talosctl --nodes 10.0.0.1 version
talosctl --nodes 10.0.0.1 health
talosctl --nodes 10.0.0.1 upgrade --image ghcr.io/siderolabs/installer:v1.9.0