Talos OS¶
Dans cet article
- Talos OS. Fonctionnalités principales
- Fonctionnalités de déploiement de Talos OS
- Installation de Talos OS sur le serveur fourni
- Configuration et gestion
- Création d'un cluster Kubernetes
- Interface de gestion de cluster
- Mise à jour et surveillance du système
- Articles Utiles sur le Sujet
- Commander Talos OS via l'API
Information
Talos OS est un système d'exploitation moderne spécifiquement développé pour exécuter Kubernetes. Il utilise un système de fichiers immuable et une architecture de conteneur, offrant une sécurité élevée, une surface d'attaque minimale et des performances optimisées des clusters Kubernetes.
Talos OS. Fonctionnalités principales¶
- Réduit le risque d'attaques : l'absence de shell (shell), de gestionnaire de paquets et d'autres composants Linux standard diminue les menaces de sécurité.
- Infrastructure immuable : basé sur le concept d'immutabilité où les mises à jour sont appliquées atomiquement plutôt que de modifier le système existant.
- Kubernetes intégré : Kubernetes intégré optimisé pour un maximum de performances, non installé par-dessus le système.
- Gestion centrée sur l'API : gestion complète via API sans avoir besoin de SSH ou d'exécution de commandes dans un shell.
- Haute automatisation : configuration et récupération automatisées des composants du cluster sans intervention manuelle.
- Mises à jour simplifiées : mise à jour fiable du système d'exploitation et de Kubernetes avec retour en arrière automatique en cas d'erreur.
- Support natif pour les conteneurs : optimisé pour l'exécution des applications conteneurisées.
- Sécurité stricte : conformité aux meilleures pratiques de sécurité, y compris le chiffrement obligatoire et la vérification de signature.
- Utilisation efficace des ressources : consommation minimale des ressources système pour maximiser l'allocation aux charges de travail.
- Haute résilience : conçu pour fonctionner dans des environnements distribués et tolérants aux pannes.
Fonctionnalités de déploiement de Talos OS¶
Important : Chargement temporaire sans installation
Lorsque vous commandez un serveur avec Talos OS, le système est initialement chargé en mémoire RAM et non installé sur disque. Si le serveur est redémarré avant la fin du processus de configuration et d'installation, le système sera perdu et nécessitera une nouvelle commande.
Lorsque vous commandez un serveur avec Talos OS, vous recevez :
- Un serveur avec Talos OS temporairement chargé en mode maintenance (
Maintenance
) ; - Accès à la console du serveur via le panneau de contrôle ;
- La possibilité de configurer et d'installer le système sur disque à l'aide des outils Talos.
Installation de Talos OS sur le serveur fourni¶
Après avoir reçu un serveur avec Talos OS, vous devez accéder au panneau de contrôle des serveurs et de l'API - Invapi aller à la carte du serveur et ouvrir la console HTML5. Vous verrez le système en mode maintenance (Maintenance
) avec une note Ready: True
via la console de contrôle. C'est un état temporaire nécessitant une configuration supplémentaire pour une installation permanente :
Étape 1 : Chargement de l'outil Talos CLI¶
Tout d'abord, installez l'utilitaire talosctl
sur votre machine locale :
Pour Linux/MacOS :
Pour Windows :
- Créez un dossier pour talosctl (si cela n'existe pas encore)
- Téléchargez la dernière version de talosctl pour Windows
- Ajoutez le chemin de talosctl à la variable d'environnement PATH
Information
Vous pouvez également installer talosctl sans utiliser la ligne de commande :
- Téléchargez directement depuis GitHub la dernière version de talosctl pour Windows ;
- Renommez le fichier téléchargé en
talosctl.exe
; - Copiez le fichier dans le dossier
C:\Windows\System32\
(droits d'administrateur requis).
Après l'installation, ouvrez une nouvelle fenêtre de terminal et vérifiez la fonctionnalité :
Étape 2 : Préparation des fichiers de configuration¶
Génération de secrets :
Génération d'une configuration basique : Remplacez[SERVER-IP]
par l'adresse IP réelle de votre serveur. Étape 3 : Création d'un fichier de patch¶
Les paramètres disk
et interface
dans la configuration doivent correspondre au matériel de votre serveur. Pour déterminer ces valeurs, exécutez les commandes suivantes :
- Déterminez les disques disponibles
-
Déterminez les interfaces réseau
Dans la sortie de commande, trouvez :
- Le nom de votre disque principal (généralement
/dev/sda
,/dev/vda
ou/dev/nvme0n1
) ; - Le nom de votre interface réseau (habituellement
eth0
,ens3
,enp0s3
et ainsi de suite).
Créez un fichier nommé patch.controlplane.yaml
avec le contenu suivant :
cluster:
apiServer:
certSANs:
- [SERVER-IP]
- 127.0.0.1
- localhost
- kubernetes
- kubernetes.default
- kubernetes.default.svc
- kubernetes.default.svc.cluster.local
machine:
install:
disk: /dev/sda
image: factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.9.5
wipe: true
extraKernelArgs:
- talos.platform=metal
features:
hostDNS:
enabled: false
forwardKubeDNSToHost: false
kubelet:
clusterDNS:
- [SERVER-IP]
network:
hostname: node-talos
interfaces:
- interface: eth0
dhcp: true
nameservers:
- 8.8.8.8
- 8.8.4.4
time:
disabled: false
servers:
- ntp.ix.com
bootTimeout: 2m0s
Remplacez [SERVER-IP]
par l'adresse IP de votre serveur à plusieurs endroits dans le fichier.
Note
Pour travailler avec des IPs statiques, utilisez le patch suivant
```yaml cluster: apiServer: certSANs: - 127.0.0.1 - localhost - kubernetes - kubernetes.default - kubernetes.default.svc - kubernetes.default.svc.cluster.local - [SERVER-IP-ADDRESS] machine: install: disk: /dev/sda image: factory.talos.dev/installer/376567988ad370138ad8b2698212367b8edcb69b5fd68c80be1f2ec7d603b4ba:v1.9.5 wipe: true extraKernelArgs: - talos.platform=metal features: hostDNS: enabled: false forwardKubeDNSToHost: false kubelet: clusterDNS: - [SERVER-IP-ADDRESS] network: hostname: node-talos interfaces: - interface: [INTERFACE NAME] addresses: - [YOUR SERVER'S API]/[SUBNET MASK] mtu: 8765 routes: - network: 0.0.0.0/0 gateway: [YOUR SERVER's GATEWAY] nameservers: - 8.8.8.8 - 8.8.4.4 time: disabled: false servers: - ntp.ix.com bootTimeout: 2m0s
Étape 4 : Configuration du client Talos¶
Étape 5 : Application du patch à la configuration¶
Pour Linux/macOS :
talosctl machineconfig patch controlplane.yaml --patch @patch.controlplane.yaml -o controlplane_patched.yaml
Pour Windows (PowerShell) :
talosctl machineconfig patch controlplane.yaml --patch "`@patch.controlplane.yaml" -o controlplane_patched.yaml
Étape 6 : Application de la configuration au serveur¶
talosctl --talosconfig ./talosconfig apply-config --insecure -n [SERVER-IP] -e [SERVER-IP] --file ./controlplane_patched.yaml
Après avoir exécuté cette commande, le processus d'installation commencera sur le serveur. Vous pouvez surveiller ce processus via la console de contrôle.
Étape 7 : Attente de l'achèvement de l'installation¶
Attendez que le statut de la console du serveur change :
Stage: Booting
→Stage: Running
;Ready: True
doit rester actif :
La console devrait afficher un message :
[talos] etcd is waiting to join the cluster. If this node is the first node in the cluster, please run 'talosctl bootstrap'
Étape 8 : Initialisation du cluster¶
Après que le serveur ait affiché un message sur l'attente pour rejoindre le cluster, exécutez :
Étape 9 : Obtention de la configuration Kubernetes¶
Attendez que le message [talos] machine is running and ready
apparaisse dans la console, puis exécutez :
kubeconf
, qui peut être utilisé pour gérer le cluster Kubernetes. Remarques importantes
- Sauvegardez les fichiers
secrets.yaml
ettalosconfig
dans un emplacement sécurisé — ils sont nécessaires pour l'accès futur au cluster ; - Après une installation réussie, le système sera sauvegardé sur disque et ne sera pas perdu lors d'un redémarrage ;
- Le nom d'hôte doit correspondre exactement entre vos fichiers de configuration et les commandes.
Configuration et gestion¶
Après avoir installé avec succès Talos OS sur disque, vous pouvez gérer votre serveur à l'aide de talosctl
:
-
Obtenez le statut du nœud :
-
Affichez les ressources système :
-
Liste des services en cours d'exécution :
-
Redémarrez le nœud :
Création d'un cluster Kubernetes¶
Votre cluster Kubernetes devrait déjà être initialisé après l'exécution de la commande bootstrap
. Pour commencer à travailler avec :
- Installez kubectl sur votre machine locale :
Pour Linux :
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
Création d'un cluster multi-nœuds¶
Pour ajouter des nœuds supplémentaires au cluster :
- Pour un nouveau nœud de plan de contrôle :
- Pour un nœud worker :
Note
Le bootstrap est effectué une seule fois sur le premier nœud. Les nœuds supplémentaires rejoindront automatiquement le cluster existant.
Interface de gestion de cluster¶
Après avoir créé le cluster, divers outils sont disponibles pour la gestion :
- talosctl : gérer les nœuds Talos OS ;
- kubectl : gérer les ressources Kubernetes ;
- Panels web : des panneaux de contrôle supplémentaires peuvent être installés via Kubernetes.
Mise à jour et surveillance du système¶
Mise à jour de Talos OS¶
Talos OS prend en charge les mises à jour atomiques sans temps d'arrêt du cluster :
-
Vérifiez les versions disponibles :
-
Effectuez la mise à jour du nœud :
Surveillance du système¶
Talos OS propose plusieurs méthodes de surveillance :
-
Outils intégrés :
-
Installez des solutions de surveillance via Kubernetes :
Note
Des informations détaillées sur les configurations supplémentaires de Talos OS sont disponibles dans la documentation des développeurs.
Articles Utiles sur le Sujet¶
Commander Talos OS via l'API¶
Pour installer ce logiciel en utilisant l'API, suivez ces instructions.
Certains contenus de cette page ont été créés ou traduits en utilisant l'IA.