La version libre de la plateforme PaaS Cozystack 0.17.0, construite sur Kubernetes, a été publiée. Le projet vise à fournir une plateforme complÚte pour les fournisseurs d'hébergement et un cadre pour la création de clouds privés et publics. La plateforme s'installe directement sur les 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Ă©e sur Kube-OVN, et utilise Cilium pour organiser le rĂ©seau de services, MetalLB pour l'annonce des services Ă l'extĂ©rieur. Le stockage est implĂ©mentĂ© sur LINSTOR, oĂč l'utilisation de ZFS est proposĂ©e comme couche de base pour le stockage et DRBD pour la rĂ©plication. Un stack de surveillance prĂ©-configurĂ© basĂ© sur VictoriaMetrics et Grafana est disponible. Pour le lancement machines virtuelles la technologie KubeVirt est utilisĂ©e, ce qui permet de lancer des machines virtuelles classiques directement dans des conteneurs Kubernetes et possĂšde dĂ©jĂ toutes les intĂ©grations nĂ©cessaires avec l'API Cluster pour exĂ©cuter des clusters Kubernetes gĂ©rĂ©s Ă l'intĂ©rieur d'un cluster Kubernetes 'matĂ©riel'.
Dans la nouvelle version :
- La plateforme permet dĂ©sormais de crĂ©er des machines virtuelles avec plusieurs disques, d'effectuer des installations Ă partir de CD-ROM et de transfĂ©rer des disques d'une machine virtuelle Ă une autre. L'ancienne application « Machine virtuelle » a Ă©tĂ© divisĂ©e en deux applications distinctes : « vm-disk » (disque de machine virtuelle) et « vm-instance » (instance de machine virtuelle). L'application vm-disk prend en charge le chargement d'images depuis des supports HTTP ou locaux, lors de la crĂ©ation d'un disque, il est possible de spĂ©cifier la source et le type de l'image â CD-ROM ou classique. L'application vm-instance permet de dĂ©marrer une machine virtuelle Ă partir des disques créés. La possibilitĂ© d'utiliser l'ancienne application Machine virtuelle a Ă©tĂ© conservĂ©e pour des raisons de compatibilitĂ©.
- Des options instanceType et instanceProfile ont Ă©tĂ© ajoutĂ©es, ainsi qu'un ensemble d'instances par dĂ©faut et de profils pour Ubuntu, RHEL, Alpine et Windows. Il est dĂ©sormais possible de configurer une machine virtuelle avec des paramĂštres optimaux selon le systĂšme d'exploitation (par exemple, activer TPM et les appareils virtio, utiliser un pointeur tablet), et au lieu de spĂ©cifier des ressources pour la machine virtuelle, il est possible d'utiliser des instances standardisĂ©es, spĂ©cialement conçues pour un type de charge spĂ©cifique. Les types d'instances s'appliquent Ă©galement Ă Kubernetes, ce qui permet de mieux planifier ses groupes de nĆuds.
- Une option pour activer le proxy a été ajoutée dans l'ingress pour le téléchargement d'images depuis des machines locales, et le CDI a été mis à jour pour un fonctionnement plus correct avec des dispositifs de bloc. La possibilité de télécharger des images pour LINSTOR via l'outil virtctl a été implémentée.
- Ajout de la prise en charge des machines virtuelles sous Windows. Avec les nouvelles vm-disk et vm-instance, l'installation de Windows 10 et de Windows Server 2k15 à partir de fichiers ISO a été testée, suivie du passage aux pilotes VirtIO.
- Lors de la commande de buckets S3, un déploiement automatique de l'interface web pour y accéder a été mis en place. à travers cette interface web, il est possible de télécharger et de supprimer des fichiers, ainsi que de générer des liens temporaires pour un accÚs public. L'interface est construite sur la base de s3manager, distribué sous la licence Apache 2.0.

- Des alertes pour FluxCD ont été ajoutées, affichant l'état des versions. Les alertes sont structurées et désormais classées par catégories ; de plus, le champ Resource affiche maintenant la ressource problématique.
- Il est désormais possible de recevoir des alertes sur Telegram avec dé-duplication et des boutons pour gérer le cycle de vie de chaque alerte.
- Un contrĂŽleur MachineHealthChecks a Ă©tĂ© intĂ©grĂ© dans l'API Cluster, qui surveillera l'Ă©tat des nĆuds dans le cluster Kubernetes. En cas de problĂšme, les nĆuds seront automatiquement redemandĂ©s.
- Un composant external-dns a Ă©tĂ© ajoutĂ©, permettant de configurer automatiquement les enregistrements DNS dans Cloudflare. De plus, une possibilitĂ© de commande de certificats via l'API de Cloudflare a Ă©tĂ© mise en Ćuvre en utilisant la mĂ©thode DNS.
- Un opérateur external-secrets a été ajouté, permettant de synchroniser des secrets avec des systÚmes externes.
- Des composants optionnels ont Ă©tĂ© introduits, qui sont dĂ©sactivĂ©s par dĂ©faut, mais peuvent ĂȘtre activĂ©s Ă l'aide de l'option bundle-enable dans la configuration de Cozystack.
- Les travaux (jobs) pour l'initialisation de PostgreSQL et de FerretDB ont été améliorés, attendant désormais que la base soit opérationnelle avant d'effectuer toute action sur la configuration.
- La stabilité de Kube-OVN a été améliorée. La communication avec NetworkManager a été désactivée. Sur certains systÚmes, ce problÚme bloquait le démarrage des contrÎleurs OVN.
- Une configuration des logs pour Clickhouse a été ajoutée. Les logs seront déplacés dans une section distincte et la rotation a été configurée.
- Les composants ont été mis à jour : LINSTOR 1.29.1, Talos Linux 1.8.1 et Cilium 1.16.3.
Source : opennet.ru

