Cozystack, a free PaaS platform built on Kubernetes, is now available in version 0.40. The project aims to provide a ready-to-use platform for hosting providers and a framework for building private and public clouds. The platform installs directly on servers and covers all aspects of infrastructure preparation for delivering managed services. Cozystack allows you to launch and provision Kubernetes clusters, databases, and virtual machines. The platform code is available on GitHub and is distributed under the Apache 2.0 license.
Talos is used as the underlying technology stack. Linux and Flux CD. Images with the system, kernel, and necessary modules are pre-built and updated atomically, eliminating the need for components like dkms and a package manager, and ensuring stable operation. A simple installation method is provided in an empty data center using PXE and debian-like talos-bootstrap installer. Within the platform, you can deploy Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics, and other services with a single click.
The platform includes a free implementation network infrastructure (fabric) based on Kube-OVN, it uses Cilium for service mesh organization and MetalLB for service advertising. Storage is implemented on LINSTOR, which uses ZFS as the underlying storage layer and DRBD for replication. A pre-configured monitoring stack based on VictoriaMetrics and Grafana is included. KubeVirt technology is used to launch virtual machines, allowing classic virtual machines to run directly in Kubernetes containers and already has all the necessary integrations with the Cluster API for launching managed Kubernetes clusters within a bare-metal Kubernetes cluster.
In the new release:
- A LINSTOR scheduler has been added for optimal pod placement. A native "scheduler extender" for Kubernetes works in conjunction with the standard Kubernetes scheduler to optimally place pods on nodes with LINSTOR storage. When a pod requests a LINSTOR volume, the scheduler consults the LINSTOR controller to determine which nodes have local replicas of the required volumes. Priority is given to nodes where the data already resides, minimizing network traffic and improving I/O performance. An admission webhook has also been implemented that automatically routes pods using LINSTOR CSI volumes to the native scheduler, ensuring seamless integration without manual configuration.
- SeaweedFS storage has been updated to version 4.05, which features S3 traffic optimization (traffic locality): requests are now sent to the nearest servers, reducing latency and speeding up storage. A new admin component with a web interface and authorization support, as well as workers for running distributed tasks, have also been added. Advanced dashboards have been added to Grafana, allowing you to monitor buckets, API calls, and performance. Support has been added. TLS certificates for the admin and worker components.
- The valuesFrom mechanism from FluxCD replaces lookup functions in Helm charts. This architectural improvement ensures cleaner parameter passing and eliminates the need for forced synchronization (reconciliation) controllers. Configuration from ConfigMaps and service references is now centrally managed via the cozystack-values key in each namespace.
- The LINSTOR integration component now supports the auto-diskful feature, which transitions diskless nodes to diskful ones if they hold DRBD resources in the Primary state for more than 30 minutes.
- Automatic version control systems have been implemented for PostgreSQL, Kubernetes, MariaDB, and Redis, which track updates in upstream repositories and provide mechanisms for automatic version updates.
Source: opennet.ru
