È disponibile il rilascio della piattaforma di orchestrazione dei container Kubernetes 1.24, che consente di gestire un cluster di container isolati come un'unica entità e fornisce meccanismi per il deployment, la manutenzione e la scalabilità delle applicazioni eseguite nei container. Il progetto è stato originariamente creato da Google, ma successivamente è stato trasferito su una piattaforma indipendente, curata dalla Linux Foundation. La piattaforma è posizionata come una soluzione universale sviluppata dalla comunità, non legata a sistemi specifici e in grado di lavorare con qualsiasi applicazione in qualsiasi ambiente cloud. Il codice di Kubernetes è scritto in Go e distribuito sotto la licenza Apache 2.0.
Sono fornite funzionalità per il deployment e la gestione dell'infrastruttura, come la gestione del database DNS, il bilanciamento del carico, la distribuzione dei container tra i nodi del cluster (migrazione dei container in base ai cambiamenti di carico e alle esigenze dei servizi), il controllo dell'affidabilità a livello di applicazioni, la gestione degli account, l'aggiornamento e la scalabilità dinamica del cluster in esecuzione, senza la sua interruzione. È possibile il deployment di gruppi di container con l'esecuzione di operazioni di aggiornamento e annullamento delle modifiche immediatamente per l'intero gruppo, così come la suddivisione logica del cluster in parti con separazione delle risorse. È supportata la migrazione dinamica delle applicazioni, per le quali possono essere utilizzati sia archivi locali che sistemi di archiviazione in rete.
Modifiche chiave nel nuovo rilascio:
- Sono stati stabilizzati gli strumenti per il monitoraggio della capacità di archiviazione (Storage Capacity Tracking), che garantiscono il monitoraggio dello spazio libero nelle partizioni e trasmettono i dati al nodo di controllo per prevenire l'avvio di pod sui nodi in cui non c'è spazio libero sufficiente.
- È stata stabilizzata la possibilità di estendere le partizioni di archiviazione. L'utente può modificare la dimensione delle partizioni esistenti e Kubernetes estenderà automaticamente, senza interrompere il funzionamento, la partizione e il relativo file system.
- È stata interrotta la fornitura di runtime Dockershim, che era stato presentato come una soluzione temporanea per l'utilizzo di Docker in Kubernetes, non compatibile con l'interfaccia standard CRI (container runtime interface) e che portava a un ulteriore complicazione per kubelet. Per gestire i container isolati, si consiglia di utilizzare un runtime che supporti l'interfaccia CRI, come containerd e CRI-O, oppure di utilizzare il wrapper cri-dockerd, che implementa l'interfaccia CRI sopra l'API Docker Engine.
- È stato fornito il supporto sperimentale per la verifica delle immagini dei container tramite firme digitali utilizzando il servizio Sigstore, che conduce un registro pubblico per la conferma dell'autenticità (transparency log). Per prevenire attacchi alla supply chain e sostituzioni dei componenti, è stata anche fornita la certificazione tramite firme digitali degli artefatti collegati ai rilasci, compresi tutti i file eseguibili di Kubernetes installati.
- Di default, è stata interrotta l'attivazione delle API che si trovano in stato beta nei cluster (le API di test aggiunte nelle versioni precedenti sono mantenute, la modifica riguarda solo le nuove API).
- È stato implementato il supporto sperimentale per il formato OpenAPI v3.
- È stata presentata un'iniziativa per la migrazione dei plugin per la gestione degli archivi 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 è stato portato in 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 filesystem del nodo.
- È stata fornita la possibilità di riservare un intervallo di indirizzi IP per l'assegnazione dei servizi. Attivando questa opzione, il cluster assegnerà automaticamente ai servizi solo Indirizzi IP da un pool precedentemente allocato per ciascun servizio, evitando così conflitti nell'assegnazione di indirizzi liberi dall'insieme generale.
Fonte: opennet.ru
