La version libre de la plateforme PaaS Cozystack 0.22.0, basĂ©e sur Kubernetes, est dĂ©sormais disponible. Le projet vise Ă fournir une plateforme prĂȘte Ă l'emploi pour les hĂ©bergeurs et un cadre pour la construction 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 fournir des services gĂ©rĂ©s. Cozystack permet de lancer et de gĂ©rer 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'.
La nouvelle version a ajoutĂ© le cozystack-controller et de nouvelles entitĂ©s : Workload et WorkloadMonitor â qui permettent de suivre l'Ă©tat des pods gĂ©rĂ©s par des opĂ©rateurs et d'Ă©valuer le niveau de service selon des rĂšgles préétablies. Les applications dans Cozystack sont gĂ©rĂ©es par diffĂ©rents opĂ©rateurs, c'est pourquoi il a Ă©tĂ© dĂ©cidĂ© de crĂ©er un format unique pour afficher l'Ă©tat de chaque service.
Comment ça fonctionne : lors du déploiement d'une application, un WorkloadMonitor est également installé, qui surveille l'état des pods selon un sélecteur. DÚs qu'un des pods correspond au sélecteur, une nouvelle entité Workload est créée pour afficher le rÎle de chaque pod et son état. Dans le statut de WorkloadMonitor, il est possible de voir le nombre de répliques existantes et le nombre minimal de répliques nécessaires pour assurer le service. DÚs que la charge (workload) devient inférieure à la valeur de minReplicas pour WorkloadMonitor, le service est marqué comme non opérationnel (non-operational).
Pour les applications pour lesquelles il n'est pas possible de spĂ©cifier une valeur prĂ©cise de minReplicas (par exemple, les workers Kubernetes peuvent ĂȘtre mis Ă l'Ă©chelle automatiquement), la possibilitĂ© de ne pas indiquer du tout cette valeur dans WorkloadMonitor a Ă©tĂ© mise en Ćuvre. Dans ce cas, WorkloadMonitor comptera simplement le nombre total d'instances en cours d'exĂ©cution.
Ce mécanisme permet d'utiliser n'importe quel opérateur et tout mécanisme de gestion des pods dans Kubernetes et d'étendre facilement la plateforme, en fournissant une interface unique pour afficher l'état actuel du service.
Le WorkloadMonitor pour collecter des informations sur les répliques et leur fonctionnement a été ajouté aux applications Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd et SeaweedFS. Le tableau de bord Cozystack affiche désormais le nombre de répliques de l'application et le niveau de service pour chaque groupe de Workload.
Autres changements :
- Le client et le serveur de tĂ©lĂ©metrie ont Ă©tĂ© rĂ©alisĂ©s et publiĂ©s sous la licence Apache 2.0. La collecte des mĂ©triques pour la tĂ©lĂ©metrie est effectuĂ©e conformĂ©ment aux recommandations de la « LF Telemetry Data Collection and Usage Policy » et peut ĂȘtre dĂ©sactivĂ©e Ă l'aide de l'option « telemetry-enabled: false » dans la configuration de Cozystack. Les donnĂ©es elles-mĂȘmes sont anonymes et totalement dĂ©personnalisĂ©es. Les prochaines versions de la plateforme prĂ©voiront la crĂ©ation d'un Dashboard public basĂ© sur les donnĂ©es de tĂ©lĂ©metrie.
- Le composant cluster-autoscaller pour Kubernetes a été mis à jour, ainsi que ses paramÚtres, permettant une mise à l'échelle plus efficace des clusters, vers le haut comme vers le bas.
- Le fichier MAINTAINERS a été mis à jour, listant les participants qui maintiennent le projet et leurs domaines de responsabilité.
- Une application de service builder a été ajoutée à Cozystack, permettant de compiler la plateforme directement dans Kubernetes.
- Pour la base de données VictoriaMetrics, la possibilité de spécifier des paramÚtres personnalisés a été ajoutée, et les limites par défaut ont été augmentées.
- La collecte des mĂ©triques Ă partir des bases de donnĂ©es a Ă©tĂ© mise en Ćuvre pour Grafana et Alerta.
- Des alertes sur l'état des machines virtuelles et des clusters Postgres ont été ajoutées.
- La collecte des métriques a été configurée pour KubeVirt et un dashboard Grafana a été ajouté.
- L'option extra-keycloak-redirect-uri-for-dashboard a été ajoutée à la configuration de Cozystack, permettant de configurer des redirections supplémentaires pour Keycloak.
- Une erreur bloquant la connexion des VMdisks aux machines virtuelles a été corrigée dans VMInstance.
- Flux Operator 0.12.0, Flux Instance chart 0.12.0, Cilium 1.16.5, Kube-OVN 1.13.2, CNPG PostgreSQL Operator 1.25.0 et Talos Linux 1.9.1 ont été mis à jour.
Source : opennet.ru
