La version libre de la plateforme PaaS Cozystack 0.30.0, construite sur Kubernetes, est disponible. Le projet vise à fournir une plateforme prête à l'emploi pour les fournisseurs d'hébergement et un cadre pour créer des nuages privés et publics. La plateforme s'installe directement sur des serveurs et couvre tous les aspects de la préparation de l'infrastructure pour offrir des services gérés. Cozystack permet de lancer et de fournir des clusters Kubernetes, des bases de données et des machines virtuelles. Le code de la plateforme est disponible sur GitHub et distribué sous la licence Apache-2.0.
Comme pile technologique de base, Talos Linux et Flux CD sont utilisés. Les images système, le noyau et les modules nécessaires sont préformés et mis à jour de manière atomique, ce qui permet de se passer de composants comme dkms et d'un gestionnaire de paquets, garantissant ainsi un fonctionnement stable. Une méthode simple d'installation dans un datacenter vide est fournie via PXE et l'installateur de type debian nommé talos-bootstrap.
La plateforme inclut une implémentation libre de l'infrastructure réseau (fabric) basé sur Kube-OVN et utilise Cilium pour organiser le réseau de services, MetalLB pour l'annonce des services externes. Le stockage est réalisé sur LINSTOR, avec l'utilisation de ZFS comme couche de stockage de base et DRBD pour la réplication. Une stack de surveillance préconfigurée basée sur VictoriaMetrics et Grafana est fournie. Pour le déploiement de machines virtuelles, la technologie KubeVirt est utilisée, permettant d'exécuter des machines virtuelles classiques directement dans des conteneurs Kubernetes et ayant déjà toutes les intégrations nécessaires avec Cluster API pour le lancement de clusters Kubernetes gérés à l'intérieur d'un cluster Kubernetes 'bare-metal'.
Au cours des quinze derniers jours, l'équipe du projet a publié sept nouvelles versions : 0.24-0.30. Parmi les changements dans ces versions :
- Stabilisation de la plateforme pour une utilisation dans des configurations multi-CENTRES DE DONNÉES. Un travail important a été réalisé pour configurer etcd, Cilium, Kuve-OVN, Linstor et d'autres composants.
- Renforcement et amélioration de la pile d'observabilité. Des tableaux de bord ont été ajoutés pour plusieurs composants et les paramètres de Grafana ont été optimisés, ce qui a accéléré son fonctionnement.
- Sortie d'un utilitaire supplémentaire cozy-proxy permettant de délivrer adresses IP des machines virtuelles dans K8s.
- Apparition du Vertical Pod Autoscaler. Le VPA fixe automatiquement les limites des ressources que peut consommer une application. Les limites sont déterminées sur la base des métriques historiques.
- Refonte et ajout de nouvelles sections dans la documentation.
- Migration du dépôt de la plateforme et des utilitaires auxiliaires de l'organisation aenix-io vers l'organisation cozystack après le transfert du projet dans le CNCF Sandbox.
- Cozystack 0.30 : Introduction du GPU-operator et ajout de la prise en charge des GPU dans les machines virtuelles. La prise en charge des GPU permet d'utiliser la plateforme pour exécuter des tâches liées à l'apprentissage automatique.
- Cozystack 0.29 : Des efforts ont été déployés pour améliorer la stabilité et la fiabilité de la plateforme. La vulnérabilité CVE-2025-1974 dans ingress-nginx a été corrigée. Un ensemble de préréglages limitant la consommation de ressources a été ajouté. Un processus de renouvellement automatique des certificats a été mis en œuvre. Le pare-feu hôte Cilium a été ajouté. Un processus pour exécuter des tests e2e dans GitHub CI a été ajouté.
- Cozystack 0.28 : Apparition du Vertical Pod Autoscaler, qui fixe automatiquement les limites des ressources disponibles pour différentes applications. L'isolation des tenants est activée par défaut. La responsabilité de la validation de l'IP source a été transférée de Cilium à Kube-OVN.
- Cozystack 0.27 : Un ensemble de scripts linstor plunger a été proposé pour corriger automatiquement les erreurs dans LINSTOR (par exemple, connexion DRBD perdue, périphériques en boucle bloqués, etc.). Ajout de la possibilité de répartir les répliques PostgreSQL sur différents nœuds. Des tableaux de bord pour la surveillance de ClickHouse et Piraeus ont été créés.
- Cozystack 0.26 : La stabilité a été améliorée dans les configurations multi-Datacenters. Surveillance de la connectivité réseau ajoutée. Possibilité de limiter les ressources pour des tenants spécifiques au sein du cluster. Un outil de surveillance des latences entre les centres de données, Goldpinger, a été ajouté. La migration en direct des machines virtuelles est activée par défaut. Il est désormais possible de créer des instantanés des volumes LINSTOR.
- Cozystack 0.25 : Un outil d'assistance, cozy-proxy, a été ajouté pour attribuer des adresses IP aux machines virtuelles — pas seulement des ports séparés, mais l'adresse entière. Dans Cosyastack, les machines virtuelles reposent sur KubeVirt et sont gérées à peu près comme des pods. Kubernetes ne permet pas d'attribuer des adresses IP entières aux pods. cozy-proxy résout ce problème, ce qui est important pour les clients des fournisseurs de services dont les applications fonctionnent sur des machines virtuelles nécessitant une adresse IP distincte. La surveillance d'etcd, Flux, Kafka a été améliorée et des tableaux de bord correspondants ont été ajoutés. Les utilisateurs ayant accès uniquement à des tenants spécifiques peuvent désormais télécharger kubeconfig.
- Cozystack 0.24 : Il est désormais possible de déployer via PXE pour charger automatiquement Talos Linux sur les nœuds. Le package smee (serveur DHCP+PXE) a été ajouté à l'ensemble Tinkerbell. Darkhttp a été remplacé par notre propre développement, cozystack-assets-server. Des plug-ins ont été intégrés dans l'image Grafana pour un démarrage plus rapide de Grafana.
Source : opennet.ru
