Procedure consigliate per i contenitori Windows nel servizio Azure Kubernetes (AKS)
Nel servizio Azure Kubernetes è possibile creare pool di nodi che eseguono Linux o Windows Server come sistema operativo (OS) nei nodi. I nodi di Windows Server possono eseguire applicazioni contenitore Windows nativi, ad esempio .NET Framework. Il sistema operativo Linux e il sistema operativo Windows hanno diverse considerazioni sul supporto dei container e sulla configurazione. Per maggiori informazioni, vedere Considerazioni sui contenitori di Windows in Kubernetes. Per saperne di più su come i vari settori usano contenitori Windows nel servizio Azure Kubernetes, vedere Storie dei clienti del servizio Azure Kubernetes di Windows.
Questo articolo mostra le procedure consigliate per l'esecuzione di contenitori Windows nel servizio Azure Kubernetes.
Creare un cluster del servizio Azure Kubernetes con pool di nodi Linux e Windows
Quando si crea un nuovo cluster del servizio Azure Kubernetes, la piattaforma Azure crea un pool di nodi Linux per impostazione predefinita. Questo pool di nodi contiene i servizi di sistema necessari per il funzionamento del cluster. Azure crea e gestisce anche un piano di controllo astratto dall'utente, pertanto non si è esposti al sistema operativo sottostante dei nodi che ospitano i componenti del piano di controllo principale. È consigliabile eseguire almeno due nodi nel pool di nodi Linux predefinito per garantire l'affidabilità e le prestazioni del cluster. Non è possibile eliminare il pool di nodi Linux predefinito a meno che non si elimini l'intero cluster.
In alcuni casi è consigliabile distribuire un pool di nodi Linux quando si prevede di eseguire carichi di lavoro basati su Windows nel cluster del servizio Azure Kubernetes, ad esempio:
- Se si vogliono eseguire carichi di lavoro Linux e Windows, è possibile distribuire un pool di nodi Linux e un pool di nodi Windows nello stesso cluster.
- Per distribuire componenti correlati all'infrastruttura basati su Linux, ad esempio NGINX, è necessario un pool di nodi Linux insieme al pool di nodi Windows. È possibile usare i nodi del piano di controllo per scenari di sviluppo e test. Per i carichi di lavoro di produzione, è consigliabile distribuire pool di nodi Linux separati per garantire affidabilità e prestazioni.
Modernizzare le applicazioni esistenti con Windows nel servizio Azure Kubernetes
È possibile inserire in contenitori le applicazioni esistenti ed eseguirle usando Windows nel servizio Azure Kubernetes. Prima di avviare il processo di containerizzazione, è importante comprendere l'architettura e le dipendenze dell'applicazione. Per altre informazioni, vedere Containerizzare le applicazioni esistenti utilizzando i contenitori di Windows.
Versione del sistema operativo Windows
Indicazioni sulle procedure consigliate
Windows Server 2022 offre sicurezza e prestazioni migliorare ed è il sistema operativo consigliato per i pool di nodi Windows nel servizio Azure Kubernetes. Il servizio Azure Kubernetes usa Windows Server 2022 come versione del sistema operativo host e supporta solo l'isolamento del processo.
Il servizio Azure Kubernetes supporta due opzioni per il sistema operativo Windows Server: versioni LTSC (Long Term Servicing Channel) e canale annuale di Windows Server per contenitori.
Il servizio Azure Kubernetes supporta le versioni LTSC (Long Term Servicing Channel), tra cui Windows Server 2022 e Windows Server 2019. Questo canale viene rilasciato ogni tre anni ed è supportato per cinque anni. I clienti che usano LTS (Long Term Support) devono usare Windows Server 2022.
Il servizio Azure Kubernetes usa Windows Server 2019 e Windows Server 2022 come versioni del sistema operativo host e supporta solo l'isolamento del processo. Il servizio Azure Kubernetes non supporta le immagini del contenitore create da altre versioni di Windows Server. Per ulteriori informazioni, vedere Compatibilità delle versioni dei contenitori Windows.
Windows Server 2022 è il sistema operativo predefinito per Kubernetes versione 1.25 e successive. Windows Server 2019 verrà ritirato dopo il raggiungimento della fine del servizio per Kubernetes versione 1.32. Windows Server 2022 verrà ritirato dopo il raggiungimento della fine del servizio per Kubernetes versione 1.34. Per altre informazioni, vedere le note sulla versione del servizio Azure Kubernetes. Per rimanere aggiornati sulle versioni più recenti del sistema operativo Windows Server e ottenere altre informazioni sulla roadmap di ciò che è pianificato per il supporto nel servizio Azure Kubernetes, vedere la roadmap pubblica del servizio Azure Kubernetes.
Il servizio Azure Kubernetes supporta il canale annuale di Windows Server per contenitori (anteprima). Questo canale viene rilasciato annualmente ed è supportato per 2 anni. Questo canale è utile per i clienti che richiedono cicli di innovazione e portabilità più elevati. La funzionalità di portabilità consente al sistema operativo dell'immagine del contenitore basata su Windows Server 2022 di essere eseguito nelle versioni più recenti del sistema operativo host di Windows Server, ad esempio la nuova versione del canale annuale.
Le versioni del canale annuale di Windows si basano sulla versione Kubernetes del pool di nodi. Per eseguire l'aggiornamento da una versione del canale annuale alla successiva, è possibile eseguire l'aggiornamento a una versione di Kubernetes che supporta la versione successiva del canale annuale. Per altre informazioni, vedere Canale annuale di Windows Server per contenitori nel servizio Azure Kubernetes.
Rete
Modalità di rete
Indicazioni sulle procedure consigliate
I cluster del servizio Azure Kubernetes con pool di nodi Windows supportano solo Azure Container Networking Interface (Azure CNI) e lo usano per impostazione predefinita.
Windows non supporta la rete kubenet. I cluster del servizio Azure Kubernetes con pool di nodi Windows devono usare Azure CNI. Per altre informazioni, vedere Concetti relativi alla rete per le applicazioni nel servizio Azure Kubernetes.
Azure CNI offre due modalità di rete in base ai requisiti del carico di lavoro:
- Sovrimpressione Azure CNI è una rete di sovrapposizione simile a kubenet. La rete di sovrapposizione consente di utilizzare IP di rete virtuale (VNet) per i nodi e spazi di indirizzi privati per i pod all'interno di tali nodi, che possono essere riutilizzati in tutto il cluster. La sovrimpressione Azure CNI è la modalità di rete consigliata. Offre una configurazione e una gestione di rete semplificate e la migliore scalabilità nella rete del servizio Azure Kubernetes.
- Azure CNI con allocazione IP dinamica richiede pianificazione e considerazioni aggiuntive per la gestione degli indirizzi IP. Questa modalità fornisce indirizzi IP di rete virtuale per nodi e pod. Questa configurazione consente l'accesso diretto agli indirizzi IP dei pod. Tuttavia, offre una maggiore complessità e una riduzione della scalabilità.
Per decidere quale modalità di rete usare, vedere Scegliere un modello di rete.
Criteri di rete
Indicazioni sulle procedure consigliate
Usare i criteri di rete per proteggere il traffico tra i pod. Windows supporta Gestione criteri di rete di Azure e Criteri di rete Calico. Per altre informazioni, vedere Differenze tra i motori di criteri di rete: Cilium, Azure NPM e Calico.
Quando si gestisce il traffico tra pod, è necessario applicare il principio dei privilegi minimi. La funzionalità Criteri di rete in Kubernetes consente di definire e applicare regole di traffico in ingresso e in uscita tra i pod nel cluster. Per altre informazioni, vedere Proteggere il traffico tra i pod usando criteri di rete nel servizio Azure Kubernetes.
I pod Windows nei cluster del servizio Azure Kubernetes che usano i criteri di rete Calico abilitano l'indirizzo IP mobile per impostazione predefinita.
Upgrade e aggiornamenti
È importante mantenere l'ambiente Windows aggiornato per assicurarsi che i sistemi abbiano gli aggiornamenti della sicurezza, i set di funzionalità e i requisiti di conformità più recenti. In un ambiente Kubernetes come il servizio Azure Kubernetes è necessario mantenere la versione di Kubernetes, i nodi Windows e le immagini e i pod del contenitore Windows.
Aggiornamenti della versione di Kubernetes
Come servizio Kubernetes gestito, il servizio Azure Kubernetes fornisce gli strumenti necessari per aggiornare il cluster alla versione più recente di Kubernetes. Per altre informazioni, vedere Aggiornare un cluster del servizio Azure Kubernetes.
Aggiornamenti mensili del nodo Windows
I nodi di Windows nel servizio Azure Kubernetes seguono una pianificazione mensile degli aggiornamenti. Ogni mese, il servizio Azure Kubernetes crea un nuovo disco rigido virtuale con gli aggiornamenti disponibili più recenti per i pool di nodi Windows. Il disco rigido virtuale include l'immagine host, l'immagine nano server più recente, l'immagine Server Core più recente e il contenitore. È consigliabile eseguire aggiornamenti mensili ai pool di nodi di Windows per assicurarsi che i nodi abbiano le patch di sicurezza più recenti. Per maggiori informazioni, vedere Aggiornare le immagini dei nodi del servizio Azure Kubernetes.
Nota
Gli aggiornamenti nei sistemi Windows includono sia gli aggiornamenti delle versioni del sistema operativo che gli aggiornamenti mensili del sistema operativo del nodo.
È possibile rimanere aggiornati sulla disponibilità di nuove versioni mensili usando il tracker delle versioni del servizio Azure Kubernetes e le note di rilascio del servizio Azure Kubernetes.
Aggiornamenti della versione del sistema operativo del nodo Windows
Windows ha una cadenza di rilascio per le nuove versioni del sistema operativo, tra cui Windows Server 2019 e Windows Server 2022. Quando si aggiorna la versione del sistema operativo del nodo Windows, assicurarsi che la versione dell'immagine del contenitore Windows corrisponda alla versione dell'host contenitore Windows, e che i pool di nodi abbiano una sola versione di Windows Server.
Per aggiornare la versione del sistema operativo del nodo Windows, è necessario completare i passaggi seguenti:
- Creare un nuovo pool di nodi con la nuova versione di Windows Server.
- Distribuire i carichi di lavoro con le nuove immagini del contenitore di Windows nel nuovo pool di nodi.
- Disattivare il vecchio pool di nodi.
Per maggiori informazioni, vedere Aggiornare i carichi di lavoro di Windows Server nel servizio Azure Kubernetes.
Nota
Windows ha annunciato un nuovo canale annuale di Windows Server per contenitori che supporta la portabilità e le versioni miste di nodi e contenitori di Windows. Questa funzionalità non è ancora supportata nel servizio Azure Kubernetes.
Per tenere traccia dei piani di funzionalità del servizio Azure Kubernetes, vedere la roadmap del servizio Azure Kubernetes pubblico.
Passaggi successivi
Per altre informazioni sui contenitori di Windows nel servizio Azure Kubernetes, vedere le risorse seguenti:
- Informazioni su come distribuire, gestire e monitorare i contenitori Windows nel servizio Azure Kubernetes.
- Aprire un problema o fornire feedback e suggerimenti nell’archivio GitHub dei contenitori di Windows.
- Esaminare le soluzioni partner di terze parti per Windows nel servizio Azure Kubernetes.
Azure Kubernetes Service