Rilascio di Cozystack 0.22, piattaforma PaaS open source basata su Kubernetes

È disponibile il rilascio della piattaforma PaaS open source Cozystack 0.22.0, costruita su Kubernetes. Il progetto mira a fornire una piattaforma pronta per i fornitori di hosting e un framework per costruire cloud privati e pubblici. La piattaforma si installa direttamente sui server e copre tutti gli aspetti della preparazione dell'infrastruttura per fornire servizi gestiti. Cozystack consente di avviare e fornire cluster Kubernetes, database e macchine virtuali. Il codice della piattaforma è disponibile su GitHub e distribuito con licenza Apache-2.0.

Come stack tecnologico di base viene utilizzato Talos Linux e Flux CD. Le immagini con il sistema, il kernel e i moduli necessari vengono generate in anticipo e aggiornate in modo atomico, il che consente di fare a meno di componenti come dkms e gestori di pacchetti, e garantisce un funzionamento stabile. Viene fornito un metodo semplice di installazione in un data center vuoto tramite PXE e l'installer talos-bootstrap di tipo debian.

La piattaforma include un'implementazione open source dell'infrastruttura di rete (fabric) basata su Kube-OVN e utilizza Cilium per l'organizzazione della rete dei servizi, MetalLB per l'annuncio dei servizi all'esterno. Lo storage è implementato su LINSTOR, dove si offre l'uso di ZFS come strato di base per lo storage e DRBD per la replica. È presente uno stack di monitoraggio preconfigurato basato su VictoriaMetrics e Grafana. Per il lancio macchine virtuali viene utilizzata la tecnologia KubeVirt, che consente di eseguire macchine virtuali classiche direttamente nei contenitori Kubernetes e ha già tutte le integrazioni necessarie con Cluster API per l'avvio di cluster Kubernetes gestiti all'interno di un cluster Kubernetes 'fisico'.

Nella nuova versione è stato aggiunto cozystack-controller e nuove entità: Workload e WorkloadMonitor, che permettono di monitorare lo stato dei pod gestiti dagli operatori e valutare il livello di servizio secondo criteri prestabiliti. Le applicazioni in Cozystack sono gestite da diversi operatori, quindi è stata presa la decisione di creare un formato unico per visualizzare lo stato di ciascun servizio.

Come funziona: durante il deployment di un'applicazione viene installato anche WorkloadMonitor, che monitora lo stato dei pod in base al selettore. Non appena un pod rientra nel selettore, viene creata una nuova entità Workload che rappresenta il ruolo di ciascun pod e il suo stato. Nello stato di WorkloadMonitor è possibile vedere il numero di repliche esistenti e il numero minimo di repliche necessario per servire il servizio. Non appena il carico (workload) diventa inferiore al valore di minReplicas per WorkloadMonitor, il servizio viene contrassegnato come non operativo.

Per le applicazioni per le quali non è possibile specificare un valore esatto di minReplicas (ad esempio, i worker di Kubernetes possono scalare automaticamente), è stata implementata la possibilità di non indicare affatto questo valore in WorkloadMonitor. In questo caso, WorkloadMonitor semplicemente conteggerà il numero totale di istanze in esecuzione.

Questo meccanismo consente di utilizzare qualsiasi operatore e meccanismo di gestione dei pod in Kubernetes e di estendere facilmente la piattaforma, fornendo un'interfaccia unica per visualizzare lo stato attuale del servizio.

WorkloadMonitor per raccogliere informazioni sulle repliche e sulla loro operatività è stato aggiunto alle applicazioni Kubernetes, Postgres, Monitoring, VirtualMachine, VMInstance, Redis, etcd e SeaweedFS. Il dashboard di Cozystack ora mostra il numero di repliche dell'applicazione e il livello di servizio per ciascun gruppo di Workload.

Altre modifiche:

  • Sono stati implementati e pubblicati con licenza Apache 2.0 il client e il server di telemetria. La raccolta delle metriche per la telemetria avviene in conformità alle raccomandazioni della "LF Telemetry Data Collection and Usage Policy" e può essere disabilitata utilizzando l'opzione "telemetry-enabled: false" nel file di configurazione di Cozystack. I dati stessi sono anonimi e completamente anonimizzati. Per i prossimi rilasci della piattaforma si prevede di raccogliere un dashboard pubblico basato sui dati della telemetria.
  • Aggiornato il componente cluster-autoscaller per Kubernetes, così come le sue impostazioni, che consentono di scalare più efficacemente i cluster, sia verso l'alto che verso il basso.
  • Aggiornato il file MAINTAINERS, che elenca i partecipanti che supportano il progetto e le loro aree di responsabilità.
  • Aggiunta un'applicazione di servizio builder in Cozystack, che consente di effettuare la build della piattaforma direttamente in Kubernetes.
  • Per il database VictoriaMetrics è stata aggiunta la possibilità di specificare parametri personalizzati e sono stati aumentati i limiti predefiniti.
  • Per Grafana e Alerta è stata implementata la raccolta di metriche dai database.
  • Aggiunti avvisi sullo stato delle macchine virtuali e dei cluster Postgres.
  • Per KubeVirt è stata configurata la raccolta di metriche ed è stato aggiunto un dashboard Grafana.
  • Aggiunta un'opzione extra-keycloak-redirect-uri-for-dashboard nella configurazione di Cozystack, che consente di impostare ulteriori reindirizzamenti per Keycloak.
  • Corretto un errore in VMInstance che bloccava il collegamento dei VMdisks alle macchine virtuali.
  • Aggiornati 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, Talos Linux 1.9.1.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster