Nous allons découvrir cette nouvelle façon de gérer des clusters kubernetes.
Talos Linux
Talos Linux - Qu'est-ce que c'est ?
Talos Linux est un CSOS.
Qu'est-ce qu'un CSOS
Un “container-specific host OS” est un système d'exploitation minimaliste explicitement conçu pour exécuter uniquement des conteneurs, avec tous les autres services et fonctionnalités désactivés, et avec des systèmes de fichiers en lecture seule
Points clés de Talos Linux
-
Conçu pour être atomique dans son déploiement et modulaire dans sa composition
- Atomique : Talos est distribué sous forme d’une image immutable versionné et signé
- Modulaire : composé d’éléments séparés communiquant via des interfaces gRPC
-
N’est basé sur aucune distro Linux du marché
- Réécriture du userspace depuis PID 1
- Talos exécute le kernel mais tout ce qui est en aval a été réécrit en Go
- Pas de systemd, Pas de GNU, pas de SSH, pas de paquets
- Le kernel lance machined : remplace l’init process. Conçu pour exécuter kubernetes
-
N’est pas conçu pour un usage individuel
- Talos fonctionne en cluster de machines
- Une application ne tourne pas sur une machine mais un cluster
- Le cluster kubernetes est maintenu par Talos (c’est sa raison première)
-
La configuration d’une machine est définie par un seul fichier
- Qui peut être le même pour l’ensemble des machines du cluster !
-
Sa conception permet une maintenance aisée et rapide
-
Très peu de composants
- apid (grpc endpoint, gateway pour tous les composants, envoie tout à machined),
- containerd (conteneur runtime simple robuste et portable),
- machined (remplacement de init),
- networkd (gère le réseau au niveau host),
- kernel (le kernel est configuré suivant les recommandations du Kernel Self Protection Project),
- trustd (exécute et opère un cluster kubernetes),
- udevd (implémentation de eudev [fork Gentoo de udev] dans machined)
-
Tout le design de Talos Linux est orienté sécurité
- Distribué, Immutabilité, Minimal(SquasFS=80MB), Éphémère, Déclaratif
-
Configuration/Pilotage du cluster par CLI unique
- talosctl : Un seul outil de gestion (comme kubernetes)
-
Fonctionne sur tout type d’environnement (bare-metal, vm, cloud, container)
-
Kubespan : connexion de machine Talos sur différents réseaux Permet de concevoir des clusters hybrides (multi environnement DC/Edge/Cloud)
Quels usages pour Alter Way
- Offre KaaS AW → Mutualisation client Smile
- Management Facile,
- Utilisation de matériel usagé
- Dans une dynamique responsable (footprint réduit, refurbish…),
- Innovation,
- Disruptif,
- Dans une continuité de la trajectoire kubernetes prise par AW
-
Une communication technique facile à initier
-
Offre Kubernetes Metal Dédié
-
Goodbye l’utilisation complexe de kubespray
Création d'un cluster
UPGRADE KUBERNETES
talosctl upgrade-k8s --from 1.24.0 --to 1.25.0
checking for resource APIs to be deprecated in version 1.25.0
WARNING: found resources which are going to be deprecated/migrated in the version 1.25.0
RESOURCE COUNT
endpointslices.v1beta1.discovery.k8s.io 2
events.v1beta1.events.k8s.io 154
discovered controlplane nodes ["10.0.0.4" "10.0.0.5" "10.0.0.6"]
discovered worker nodes ["10.0.0.7"]
updating "kube-apiserver" to version "1.25.0"
> "10.0.0.4": starting update
…
````
## UPGRADE TALOS
```bash
talosctl upgrade --nodes 10.20.30.40 \
--image ghcr.io/siderolabs/installer:v1.2.1
talosctl upgrade -e 192.168.205.16 -n 192.168.205.16 --image ghcr.io/siderolabs/installer:v1.2.1
WARNING: 192.168.205.16: server version 1.2.0 is older than client version 1.2.1
error performing upgrade: 1 error occurred:
* 192.168.205.16: rpc error: code = Unknown desc = error validating etcd for upgrade: only 1 etcd member found. assuming this is not an HA setup and refusing to upgrade
—
error performing upgrade: 1 error occurred:
* 192.168.205.16: rpc error: code = Unknown desc = error validating etcd for upgrade: etcd member count(2) is insufficient to maintain quorum if upgrade commences
—
NODE ACK STARTED
192.168.205.16 Upgrade request received 2022-09-13 12:24:43.365894 +0200 CEST m=+0.522651585
Demo
Découvrez les derniers articles d'alter way
- kubevpn
- Kubernetes 1.32
- re:Invent 2024 : AWS mise tout sur l'IA pour son Cloud
- OVHcloud Summit 2024 : L’innovation au cœur d’un cloud souverain et performant
- Big Data & AI Paris 2024 : L'IA au cœur de toutes les transformations.
- Un retour vers l'open-source ? Vos outils DevOps préférés et leurs equivalents open-source.