De nieuwe versie 0.17.0 van het open-source PaaS-platform Cozystack is uitgebracht en is gebaseerd op Kubernetes. Het project richt zich op het bieden van een kant-en-klare oplossing voor hostingproviders en een framework voor het opzetten van private en publieke cloudomgevingen. Het platform wordt rechtstreeks op servers geĆÆnstalleerd en dekt alle aspecten van infrastructuurvoorbereiding voor het aanbieden van beheerde services. Cozystack stelt gebruikers in staat om Kubernetes-clusters, databases en virtuele machines te starten en aan te bieden. De code van het platform is beschikbaar op GitHub en wordt verspreid onder de Apache-2.0-licentie.
Als basis techstack wordt Talos Linux en Flux CD gebruikt. De afbeeldingen met het besturingssysteem, de kernel en de benodigde modules worden van tevoren samengesteld en worden atomair bijgewerkt, waardoor componenten zoals dkms en pakketbeheerders kunnen worden vermeden en stabiele werking kan worden gegarandeerd. Er is een eenvoudige installatiemethode beschikbaar in een lege datacenter met behulp van PXE en een Debian-achtige installer talos-bootstrap.
Het platform omvat een gratis implementatie van de netwerkinfrastructuur (fabric) gebaseerd op Kube-OVN, en maakt gebruik van Cilium voor het organiseren van de service-netwerk, MetalLB voor het aankondigen van diensten naar buiten. De opslag is geĆÆmplementeerd op LINSTOR, waarbij het gebruik van ZFS als basislaag voor de opslag en DRBD voor replicatie wordt aangeboden. Er is een vooraf ingestelde monitoringstack gebaseerd op VictoriaMetrics en Grafana. Voor de uitvoering virtuele machines wordt de KubeVirt-technologie gebruikt, die het mogelijk maakt om klassieke virtuele machines rechtstreeks in Kubernetes-containers uit te voeren en al de benodigde integraties heeft met de Cluster API voor het starten van beheerde Kubernetes-clusters binnen een 'fysiek' Kubernetes-cluster.
In de nieuwe versie:
- Het platform heeft de mogelijkheid gekregen om virtuele machines met meerdere schijven te creĆ«ren, installaties vanaf CD-ROM uit te voeren en schijven tussen verschillende virtuele machines te wisselen. De oude applicatie āVirtuele Machineā is opgesplitst in twee afzonderlijke toepassingen: āvm-diskā (Virtuele Machine Schijf) en āvm-instanceā (Virtuele Machine Instantie). De vm-disk-applicatie ondersteunt het opstarten van beelden van HTTP of lokale schijven, en bij het aanmaken van een schijf kan de bron en het type beeld worden opgegeven ā CD-ROM of klassiek. De vm-instance-applicatie maakt het mogelijk om een virtuele machine te starten vanaf de aangemaakte schijven. De mogelijkheid om de oude applicatie Virtuele Machine te gebruiken is behouden voor compatibiliteit.
- Er zijn opties voor instanceType en instanceProfile toegevoegd, evenals een standaardset van instanties en profielen voor Ubuntu, RHEL, Alpine en Windows. Gebruikers hebben de mogelijkheid om een virtuele machine in te stellen met optimale parameters afhankelijk van het besturingssysteem (bijvoorbeeld TPM en virtio-apparaten inschakelen, tablet-pointer gebruiken), en in plaats van resources voor de virtuele machine op te geven kunnen gestandaardiseerde instanties worden gebruikt die speciaal zijn ontworpen voor specifieke belastingstypes. De types instanties zijn ook van toepassing op Kubernetes, waardoor het plannen van node-groepen efficiƫnter kan verlopen.
- In de ingress is een optie toegevoegd om het proxen van beelddownloads van lokale machines in te schakelen, evenals een update van de CDI voor een betere werking met block devices. De mogelijkheid om beelden voor LINSTOR te uploaden met de virtctl-tool is geĆÆmplementeerd.
- Ondersteuning voor virtuele machines met Windows is toegevoegd. Met de nieuwe vm-disk en vm-instance zijn de installaties van Windows 10 en Windows Server 2015 vanuit ISO getest, gevolgd door de overstap naar VirtIO-drivers.
- Bij de bestelling van S3-buckets is een automatische uitrol van de webinterface gerealiseerd voor toegang tot deze buckets. Via de webinterface kunnen bestanden worden geüpload en verwijderd, en tijdelijke links voor openbare toegang kunnen worden gegenereerd. De interface is gebaseerd op s3manager, verspreid onder de Apache 2.0-licentie.

- Er zijn meldingen toegevoegd voor FluxCD die de status van releases weergeven. De meldingen zijn gestructureerd en worden nu gecategoriseerd; bovendien wordt in het veld Resource nu de problematische resource weergegeven.
- Er is nu een mogelijkheid om meldingen naar Telegram te versturen met deduplicatie en knoppen om de levenscyclus van elke melding te beheren.
- In de Cluster API is de MachineHealthChecks-controller opgenomen, die de status van de knooppunten in de Kubernetes-cluster zal volgen. In geval van problemen worden de knooppunten automatisch opnieuw besteld.
- De component external-dns is toegevoegd, die het mogelijk maakt om DNS-records in Cloudflare automatisch in te stellen. Daarnaast is de mogelijkheid gerealiseerd om certificaten via de Cloudflare API aan te vragen met gebruik van de DNS-methode.
- De external-secrets-operator is toegevoegd, waarmee geheimen kunnen worden gesynchroniseerd met externe systemen.
- Optionele componenten zijn geĆÆntroduceerd, die standaard zijn uitgeschakeld, maar kunnen worden ingeschakeld met de optie bundle-enable in de Cozystack-configuratie.
- De jobs voor het initiƫren van PostgreSQL en FerretDB zijn verbeterd en wachten nu totdat de database is opgestart voordat ze enige acties met de configuratie uitvoeren.
- De stabiliteit van Kube-OVN is verbeterd. De mogelijkheid om te communiceren met NetworkManager is uitgeschakeld. Op sommige systemen blokkeerde dit de opstart van OVN-controllers.
- Er is een loginstelling voor Clickhouse toegevoegd. De logs zijn naar een apart gedeelte verplaatst en de rotatie is ingesteld.
- De componenten zijn bijgewerkt: LINSTOR 1.29.1, Talos Linux 1.8.1 en Cilium 1.16.3.
Bron: opennet.ru

