Utgivelsen av den gratis PaaS-plattformen Cozystack 0.33, bygget på Kubernetes, er tilgjengelig. Prosjektet har som mål å tilby en ferdiglaget plattform for hostingleverandører og et rammeverk for å bygge private og offentlige skyer. Plattformen er installert direkte på servere og dekker alle aspekter ved å klargjøre infrastruktur for levering av administrerte tjenester. Cozystack lar deg kjøre og klargjøre Kubernetes-klynger, databaser og virtuelle maskiner. Plattformkoden er tilgjengelig på GitHub og distribueres under Apache-2.0-lisensen.
Talos Linux og Flux CD brukes som den grunnleggende teknologistakken. Images med systemet, kjernen og nødvendige moduler genereres på forhånd og oppdateres atomisk, noe som eliminerer behovet for komponenter som dkms og en pakkebehandler, og garanterer stabil drift. En enkel installasjonsmetode tilbys i et tomt datasenter ved hjelp av PXE og et Debian-lignende installasjonsprogram talos-bootstrap. Innenfor plattformen kan du distribuere Kafka, FerretDB, PostgreSQL, Cilium, Grafana, Victoria Metrics og andre tjenester med et klikk.
Plattformen inkluderer en gratis implementering nettverksinfrastruktur (fabric) basert på Kube-OVN, bruker den Cilium for organisering av tjenestenett og MetalLB for tjenesteannonsering. Lagring er implementert på LINSTOR, som bruker ZFS som underliggende lagringslag og DRBD for replikering. En forhåndskonfigurert overvåkingsstabel basert på VictoriaMetrics og Grafana er inkludert. KubeVirt-teknologi brukes til å starte virtuelle maskiner, slik at klassiske virtuelle maskiner kan kjøre direkte i Kubernetes-containere, og har allerede alle nødvendige integrasjoner med Cluster API for å starte administrerte Kubernetes-klynger i en bare-metal Kubernetes-klynge.
I løpet av den siste halvannen måneden har prosjektgruppen gitt ut nye versjoner 0.31, 0.32 og 0.33. Blant endringene i disse utgivelsene:
- Enhetlig administrasjon av CPU- og minneallokering. Enhetlige konfigurasjonsvariabler cpu-allocation-ratio og memory-allocation-ratio er lagt til for å begrense CPU-ressurser og minneforbruk i virtuelle maskiner som administreres av KubeVirt. Variablene gjelder for alle administrerte applikasjoner og leietakerressurskvoter. Forhåndsinnstillinger respekterer også ressursallokeringsforhold og oppfører seg på samme måte som eksplisitte ressursdefinisjoner. Ved oppgradering fra tidligere versjoner av Cozystack konverteres ressurskonfigurasjonen i administrerte applikasjoner automatisk til det nye formatet.
- La til en PVC-sikkerhetskopieringsfunksjon i Kubernetes-klynger for leietakere, slik at administratorer av både hele plattformen og individuelle leietakere kan lage sikkerhetskopier og gjenopprette data fra tjenester som kjører i klynger. Velero-prosjektet brukes til sikkerhetskopiering, og selve systemet krever ekstern S3-kompatibel lagring.
- Implementerte støtte for bruk av delt NFS-lagring med en ny valgfri systemmodul.
- La til muligheten til å konfigurere tilgjengelige CPU-sockets for virtuelle maskiner via parameteren resources.cpu.sockets, slik at du kan tilordne spesifikke sockets til virtuelle maskiner.
- La til støtte for bruk av forhåndslastede gullbilder for virtuelle maskiner, noe som øker hastigheten på klargjøringen ved å referere til eksisterende bilder i stedet for å laste dem ned via HTTP.
- Implementerte exposeMethod-alternativet for Ingress-NGINX i leietakerklynger, som tillater valg av Proxy og LoadBalancer.
- Forbedret støtte for Java-applikasjoner: heap-parametere beregnes nå basert på forespørsler og minnegrenser.
- Standard pakkebehandleren er erstattet – i stedet for Helm brukes nå et nytt verktøy cozypkg (en innpakning rundt Helm og Flux for lokal utvikling).
- La til HelmRelease-synkronisering for systemkomponenter, som gir automatisk overvåking av viktige konfigurasjonsendringer for å sikre rettidige oppdateringer av systemapplikasjoner.
- La til støtte for registerspeil i Kubernetes-klynger for leietakere, og konfigurering av containere for leietakerklynger.
- Implementerte enhetlig merking av underliggende applikasjonsobjekter for overvåking via WorkloadMonitors.
- La til cluster-domain-alternativet for å overstyre cozy.local-domenet.
- La til RBAC-regler for portvideresending i KubeVirt (SSH via virtctl).
- Innsamling av hendelser og revisjonslogger er aktivert.
- PostgreSQL-sikkerhetskopiering/gjenoppretting implementert.
- La til et nytt cozyreport-verktøy og en samling av rapporter i CI. Nå lagres all diagnostisk informasjon som byggeartefakter.
- Oppdaterte komponenter: cozykpg v1.1.0, flux-operator 0.23.0, Flux 2.6.x, Talos Linux v1.10.3, Cilium 1.17.4, MetalLB 0.15.2, Kube-OVN 1.13.13, cozy-proxy 0.2.0, Kafka Operator 0.45.1-rc1.
- Gav muligheten til å installere Talos i Air Gap-miljøer.
- La til GPU-støtte for Kubernetes-klynger for leietakere. Plattformbrukere kan kjøre GPU-arbeidsbelastninger både i virtuelle maskiner og i Kubernetes-klynger.
- Betastøtte for ARM-arkitektur (kryssarkitekturbygg) er tilgjengelig. Byggesystemet har blitt redesignet for å støtte binærfiler og containeravbildninger med flere arkitekturer.
- VerticalPodAutoscaler (VPA) er utvidet til å inkludere flere Cozystack-komponenter og muliggjør automatisert ressurskonfigurasjon. Spesielt er VPA lagt til for kontrollplan-leietakerklynger. kontrollpaneler Cozystack og etcd-operator. Alle Cozystack-komponenter med VPA aktivert kan automatisk justere CPU- og minneforespørslene sine basert på bruk, noe som forbedrer stabiliteten.
- La til Gateway API-støtte i Cilium, som muliggjør avanserte L4/L7-rutingsfunksjoner via Kubernetes Gateway API.
- Gir muligheten til å legge til egendefinerte parametere i Cilium-konfigurasjoner for leietakerklynger.
- Tenant HelmRelease Reconcile-kontrolleren sørger for at konfigurasjonsendringer overføres til tenantarbeidsbelastninger (og sikrer at alle HelmRelease som er definert i en tenant, er synkronisert med plattformoppdateringer).
- La til muligheten til å konfigurere CPU-allokeringsforholdet i KubeVirt (hvordan virtuelle CPU-er er relatert til fysiske CPU-er) via cpu-allocation-ratio-verdien i configmap. Administratorer kan finjustere CPU-overcommit for virtuelle maskiner for å oppnå ønsket balanse mellom ytelse og tetthet.
- Eksport av virtuelle KubeVirt-maskiner er implementert. Funksjonen fungerer via VirtualMachineExport i KubeVirt og lar brukere lage øyeblikksbilder eller sikkerhetskopier av bilder av virtuelle maskiner.
- Støtte for ulike lagringsklasser for virtuelle maskiner tilbys. Virtuellmaskinapplikasjonen lar deg velge en hvilken som helst StorageClass for den virtuelle maskinens systemdisk i stedet for å bruke en hardkodet PVC (se verdiene systemDisk.storage og systemDisk.storageClass i applikasjonskonfigurasjonen).
Kilde: opennet.ru
