Kubernetesiin rakennettu avoimen lähdekoodin PaaS-alusta Cozystack 1.4 on nyt saatavilla. Projektin tavoitteena on tarjota käyttövalmis alusta hosting-palveluntarjoajille ja viitekehys yksityisten ja julkisten pilvipalveluiden rakentamiseen. Alusta asennetaan suoraan palvelimille ja kattaa kaikki infrastruktuurin valmistelun osa-alueet hallittujen palveluiden tarjoamiseksi. Cozystackin avulla voit käynnistää ja tarjota Kubernetes-klustereita, tietokantoja ja... virtuaalikoneetAlustan koodi on saatavilla GitHubissa ja sitä jaellaan Apache-2.0-lisenssillä.
Alusta sisältää avoimen lähdekoodin verkkoinfrastruktuurin (kangasrakenteen) toteutuksen, joka perustuu Kube-OVN:ään, ja käyttää Ciliumia palveluverkon organisointiin ja MetalLB:tä palvelutiedotteisiin. Tallennus on toteutettu LINSTORilla, joka tarjoaa ZFS:n pohjana olevana tallennuskerroksena ja DRBD:n replikointiin. Mukana on myös VictoriaMetrics- ja Grafana-pohjainen esikonfiguroitu valvontapino. Julkaisua varten virtuaalikoneet Alusta käyttää KubeVirt-teknologiaa, jonka avulla voit ajaa klassisia virtuaalikoneita suoraan Kubernetes-konteissa. Siinä on jo kaikki tarvittavat integraatiot Cluster API:n kanssa hallittujen Kubernetes-klusterien käynnistämiseksi bare metal Kubernetes-klusterin sisällä. Alustan sisällä voit ottaa käyttöön Kafka-, FerretDB-, PostgreSQL-, Cilium-, Grafana-, Victoria Metrics- ja muita palveluita yhdellä napsautuksella.
Cozystack 1.4.0:n tärkeimmät ominaisuudet:
- Uusi cozystack-ui-projektiin perustuva hallintaliittymä on otettu käyttöön. Vanha openapi-ui- ja BFF-pino on korvattu React 19:ään ja TypeScriptiin rakennetulla käyttöliittymällä, joka toimii suoraan Kubernetes-rajapinnan kanssa. Lisäksi käyttöliittymä tukee nyt dynaamisia VNC WebSocket -URL-osoitteita virtuaalikoneille, ajonaikaista brändäystä ConfigMapin kautta, sovellusluettelon ApplicationDefinition-määrityksen lukemista ja vanhojen /openapi-ui/*-URL-osoitteiden uudelleenohjausta.
- Pysyvä tallennustila on otettu käyttöön vuokralaisklustereiden työsolmuille. Työsolmujen virtuaalikoneet käyttävät nyt PVC-levyjä KubeVirt dataVolumeTemplates -protokollan kautta emptyDisk-protokollan sijaan. Tämä varmistaa, että kubelet-sertifikaatit, kubeconfig ja containerd-tila säilyvät virtuaalikoneen uudelleenkäynnistyksen jälkeen. ephemeralStorage-kentän nimi on muutettu muotoon diskSize, ja NodeGroup-tasolle on lisätty storageClass-asetus. Vanhat arvot muunnetaan automaattisesti siirron aikana.
- Uusi resurssien esiasetusten järjestelmä on lisätty, samanlainen kuin pilvipalveluntarjoajien käyttämät virtuaalikoneet. Esiasetukset on kuvattu seuraavassa muodossa: . , jossa t1-, c1-, s1-, u1- ja m1-sarjat määrittelevät erilaiset suorittimen ja muistin suhteet, ja koot vaihtelevat nanosta 4xlargeen. Saatavilla on yhteensä 40 varianttia. Vanhat esiasetusten nimet tallennetaan legacy-alias-nimisinä ja siirretään automaattisesti muuttamatta todellisia suorittimen ja muistin rajoja.
- Hallittujen sovellusten deklaratiivista varmuuskopiointijärjestelmää on laajennettu. Backupstrategy-ohjain tukee nyt PostgreSQL:n, MariaDB:n, ClickHousen ja FoundationDB:n strategioita. Tuki on nyt saatavilla BackupClassille, Planille, BackupJobille ja RestoreJobille, sekä ajoitetuille ja ad-hoc-varmuuskopioille, paikalliselle palautukselle ja palautuksesta palautukseen -toiminnolle. Tiedot ladataan S3-yhteensopivaan objektitallennustilaan ja tunnistetiedot välitetään Kubernetes Secretin kautta.
- Valinnainen hami-järjestelmäpaketti on lisätty HAMi 2.8.1:n myötä NVIDIA-näytönohjainten jaettua käyttöä varten vuokralaisklustereissa. Käyttäjätyökuormat voivat pyytää resursseja osoitteista nvidia.com/gpu, nvidia.com/gpumem ja nvidia.com/gpucores, mikä mahdollistaa virtuaalisten näytönohjainten jakamisen useiden podien kesken. Tämä otetaan käyttöön hami.enabled-parametrilla, ja se vaatii NVIDIA GPU -operaattorin.
- Yhtenäinen publishing.proxyProtocol-asetus on lisätty, jotta välityspalvelinprotokolla voidaan ottaa käyttöön ingress-nginx-protokollaa suorittavilla isännillä. Kun se on käytössä, Ouroboros otetaan automaattisesti käyttöön, mikä poistaa hairpin NAT -ongelman klusteripyynnöissä sen julkisiin nimiin. Vuokralaisklustereille on saatavilla addons.ouroboros.enabled-lisäosa.
- HelmRelease-julkaisun luontiasetukset on lisätty cozystack-operator-operaattoriin: intervalli, uudelleenyritysten intervalli, asennuksen aikakatkaisu, päivityksen aikakatkaisu ja enimmäishistoria. Uudelleenyritysstrategiaksi on vaihdettu RetryOnFailure, ja aikakatkaisun voi määrittää yksittäisille sovelluksille release.cozystack.io/helm-install-timeout-annotaation kautta. Tämä poistaa useita ongelmia, jotka liittyvät kylmäkäynnistykseen vuokralaisklustereissa.
- Vuokralaisten Kubernetes-työsolmujen kubelet-resurssien varaukset suorittimelle ja muistille lasketaan automaattisesti. Klusterin automaattisen skaalauksen merkinnät heijastavat nyt allokoituja resursseja suorittimen ja muistin kokonaismäärän sijaan.
- Seuraavat ydinkomponentit on päivitetty: Talos 1.13.0, cert-manager 1.20.2, Cilium 1.19.3, NVIDIA GPU Operator 26.3.1, etcd-operator 0.4.3, KubeVirt 1.8.2, cozy-proxy 0.3.0 ja linstor-csi 1.10.6. Uusia paketteja on lisätty: HAMi 2.8.1 ja Ouroboros 0.7.2.
- Parannettu diagnostiikka: cozyreport kerää nyt tietoja Fluxista, varmenteiden hallinnasta, isäntäympäristöstä, sovelluksesta, ApplicationDefinitionista ja vuokralaisen resursseista ja luo summary.txt-tiedoston, jossa on lyhyt yhteenveto nykyisistä ongelmista. Grafana-koontinäyttöjä ja tiedonkeruusääntöjä GPU-valvontaa varten on lisätty.
- Virheenkorjauksia on tehty MongoDB:ssä, Kafkassa, tenant Kubernetes bootstrapissa, etcd:ssä, Velerossa, Kamajissa, LINSTORissa, SeaweedFS:ssä, Harborissa, objectstorage-controllerissa, API:ssa ja muissa komponenteissa. TenantNamespace Get- ja Watch-käsittelijöiden IDOR-haavoittuvuus on korjattu API:ssa.
Huomaa päivityksen yhteydessä, että vuokralaisklusterin työsolmut korvataan kerran peräkkäin pysyviin PVC-levyihin siirtymisen vuoksi. Ennen alustapäivitystä käynnissä olevat KubeVirt-virtuaalikoneet vaativat kylmäkäynnistyksen KubeVirt 1.8.2 -päivityksen jälkeen, koska vanhempien virt-launcher-prosessien reaaliaikainen siirto saattaa epäonnistua QEMU-version muutoksen vuoksi. Lisäksi PostgreSQL-parametrit kirjoitetaan nyt ja tarkistetaan kieltoluetteloa vasten, ja cert-manager 1.20 käynnistää säilöt oletusarvoisesti UID/GID-tunnuksella 65532.
Lähde: opennet.ru
