È disponibile il rilascio della piattaforma di orchestrazione dei container Kubernetes 1.24, che consente di gestire come un'unica entità un cluster di container isolati e fornisce meccanismi per il deployment, il supporto e la scalabilità delle applicazioni in esecuzione nei container. Il progetto è stato originariamente creato da Google, ma successivamente è stato trasferito su una piattaforma indipendente curata dalla Linux Foundation. La piattaforma è presentata come una soluzione universale sviluppata dalla comunità, non legata a sistemi specifici e capace di funzionare con qualsiasi applicazione in qualsiasi ambiente cloud. Il codice di Kubernetes è scritto in Go e distribuito con licenza Apache 2.0.
Vengono fornite funzionalità per il deploy e la gestione dell'infrastruttura, come la gestione del DNS, il bilanciamento del carico, la distribuzione dei container sui nodi del cluster (migrazione dei container in base alle variazioni di carico e alle esigenze dei servizi), il monitoraggio della disponibilità a livello applicativo, la gestione degli account, l'aggiornamento e il ridimensionamento dinamico del cluster attivo senza interruzioni. È possibile distribuire gruppi di container con operazioni di aggiornamento e rollback simultaneamente per l'intero gruppo, così come una suddivisione logica del cluster in sezioni con divisione delle risorse. È supportata la migrazione dinamica delle applicazioni, per le quali possono essere utilizzati sia storage locali che sistemi di storage di rete per la conservazione dei dati.
Modifiche principali nel nuovo rilascio:
- Sono stati stabilizzati strumenti per il monitoraggio della capacità di storage (Storage Capacity Tracking), che garantiscono la sorveglianza dello spazio libero nelle partizioni e trasmettono i dati al nodo di gestione per prevenire l'avvio di pod su nodi con spazio insufficiente.
- È stata stabilizzata la possibilità di espandere le partizioni di archiviazione. L'utente può modificare la dimensione delle partizioni esistenti e Kubernetes espanderà automaticamente la partizione e il file system correlato senza interrompere il funzionamento.
- È terminata la fornitura del runtime Dockershim, che era stato presentato come una soluzione temporanea per l'utilizzo di Docker in Kubernetes, non compatibile con l'interfaccia CRI (container runtime interface) standard e che portava a una complessità aggiuntiva del kubelet. Per gestire container isolati, è consigliabile utilizzare un runtime che supporti l'interfaccia CRI, come containerd e CRI-O, oppure utilizzare il wrapper cri-dockerd, che implementa l'interfaccia CRI sopra l'API di Docker Engine.
- È stata fornita un'ulteriore supporto sperimentale per la verifica delle immagini dei container tramite firme digitali utilizzando il servizio Sigstore, che mantiene un registro pubblico per la conferma dell'autenticità (transparency log). Per prevenire attacchi alla supply chain e la sostituzione dei componenti, è stata anche garantita la certificazione tramite firme digitali degli artefatti associati ai rilasci, inclusi tutti i file eseguibili installati di Kubernetes.
- Per impostazione predefinita, negli cluster è disabilitata l'attivazione delle API in fase beta (le API di test aggiunte nelle versioni precedenti sono mantenute, la modifica riguarda solo le nuove API).
- È stata implementata la supporto per il formato OpenAPI v3 in versione di test.
- È stata presentata l'iniziativa per la migrazione dei plugin per la gestione dello storage a un'interfaccia unificata CSI (Container Storage Interface), mantenendo la compatibilità a livello di API. I plugin Azure Disk e OpenStack Cinder sono stati migrati a CSI.
- Il Kubelet Credential Provider è passato alla fase di beta testing, consentendo di estrarre dinamicamente le credenziali per il repository delle immagini dei container tramite l'esecuzione di plugin, senza memorizzare le credenziali nel file system del nodo.
- È stata fornita la possibilità di riservare un intervallo di indirizzi IP per l'assegnazione ai servizi. Abilitando questa opzione, il cluster assegnerà automaticamente ai servizi solo Indirizzi IP da un pool preassegnato per ogni servizio, evitando così situazioni di conflitto nella concessione degli indirizzi liberi da un insieme condiviso.
Fonte: opennet.ru
