Portabilità per i contenitori
Si applica a: Windows Server, versione 23H2
La portabilità è una funzionalità del Canale Annuale di Windows Server per i contenitori. La portabilità semplifica il processo di aggiornamento, consentendo di sfruttare al meglio la flessibilità e la compatibilità ottimizzate offerte dai contenitori. Questo articolo fornisce una spiegazione dettagliata su come la portabilità delle immagini di container viene ottimizzata per gli host di container del canale annuale.
Canale annuale di Windows Server per contenitori è un'edizione di Windows Server progettata per il servizio Azure Kubernetes e le distribuzioni di Windows Server incentrate sui contenitori per migliorare l'efficienza e offrire portabilità ottimizzata per i contenitori Windows e Linux. Per ulteriori informazioni sull'Annual Channel per i contenitori in Windows Server, vedere il nostro annuncio TechCommunity.
Funzionamento della portabilità
Windows usa un kernel modulare in cui i componenti sono spesso strettamente associati tra modalità utente e la modalità kernel. I componenti strettamente legati sono interfacce grafiche utili per i driver in modalità kernel oppure ottimizzano le prestazioni riducendo i passaggi di contesto dalla modalità kernel alla modalità utente. Tuttavia, presenta una sfida per i contenitori. La portabilità consente ai contenitori in esecuzione in modalità utente di eseguire carichi di lavoro con una versione diversa dell'immagine del contenitore rispetto alla versione del sistema operativo host.
Senza la portabilità gli utenti possono eseguire solo carichi di lavoro con versioni di immagine e host corrispondenti. Ad esempio, un utente che esegue un host Windows Server 2022 non è riuscito a eseguire contenitori isolati dal processo di Windows Server 2019. Il controllo delle versioni tra l'immagine host e l'immagine del contenitore rappresentava un notevole punto di difficoltà nella containerizzazione di Windows, rendendo difficile il passaggio alle versioni più recenti di un host contenitore. Ad esempio, Windows Server 2022 LTSC richiedeva che tutte le immagini relative all'infrastruttura e all'applicazione fossero aggiornate alla versione più recente contemporaneamente agli host.
Interfaccia binaria dell'applicazione
L'interfaccia binaria dell'applicazione, o ABI, consente a vari linguaggi di programmazione di interagire con interfacce in modalità utente e kernel. L'interazione del codice client con un oggetto runtime avviene al livello più basso, con costrutti di linguaggio client convertiti in chiamate nell'ABI dell'oggetto. La portabilità per i contenitori di Windows introduce un'interfaccia ABI stabile per l'interazione utente e kernel. Questo ABI stabile separa i componenti utente e kernel del sistema e offre la possibilità di aggiornare separatamente il kernel e gli elementi utente del sistema.
I contenitori possono eseguire tutti i file binari in modalità utente dal livello di base, ad eccezione del livello ABI.
Il diagramma seguente illustra la comunicazione tra componenti in modalità utente e in modalità kernel.
Quali versioni è possibile usare?
Le immagini del contenitore Nano Server, Server Core e Windows Server sono disponibili solo tramite il canale di manutenzione Long-Term per i contenitori che eseguono Windows Server 2019 o versione successiva. Per altre informazioni sulle immagini dei contenitori di Windows Server supportate, vedere ciclo di vita di manutenzione delle immagini di base.
Un host contenitore Windows Server versione 23H2 supporta solo l'immagine del contenitore Long Term Servicing Channel (LTSC) di Windows Server 2022.
Il servizio Azure Kubernetes supporta attualmente gli host Windows Server 2019 e versioni successive. Canale annuale di Windows Server per contenitori è un'altra opzione del sistema operativo contenitore offerta da Microsoft insieme a Kubernetes 1.28. È possibile creare nuovi pool di nodi in base al canale annuale e continuare a distribuire le immagini del contenitore di Windows Server 2022 in tali nodi. Microsoft aggiorna automaticamente la versione annuale del canale e le nuove versioni di Kubernetes su base annuale. Tuttavia, è anche consigliabile seguire le versioni LTSC più recenti per assicurarsi che i contenitori siano aggiornati.
Nota
Anche se le versioni precedenti dell'immagine del contenitore possono essere eseguite nel sistema operativo host più recente, i sistemi operativi delle immagini del contenitore più recenti non possono essere eseguiti nel sistema operativo host precedente.