Distribuire applicazioni in contenitori nel cluster AKS Edge Essentials

Completato

AKS Edge Essentials rende più semplice iniziare a creare un'applicazione in contenitori, fornendo procedure consigliate native del cloud per l'applicazione edge.

Nello scenario industriale, è necessario integrare facilmente il software che necessita di supervisione umana continua, senza disturbi costanti delle funzionalità di aggiornamento.

In questo modulo verrà illustrato come distribuire le applicazioni in contenitori nei nodi del ruolo di lavoro di Linux e Windows con AKS Edge Essentials, sfruttando l'interoperabilità con le applicazioni Windows in un dispositivo specializzato.

Diagram showing AKS Edge Essentials interoperability with Windows applications.

Distribuire applicazioni Linux e Windows nel cluster AKS Edge Essentials

Nodi del ruolo di lavoro

Per eseguire le applicazioni e i servizi di supporto, è necessario un nodo Kubernetes. I nodi di lavoro fungono da macchine virtuali (VM) che eseguono i componenti del nodo Kubernetes e ospitano i pod e i servizi che costituiscono il carico di lavoro dell'applicazione. Ogni computer in un cluster AKS Edge Essentials può avere solo una macchina virtuale Linux e/o Windows. La macchina virtuale Linux funge da nodo di controllo e nodo di lavoro per i carichi di lavoro Linux nel cluster Kubernetes.

Pod

Kubernetes usa i pod per eseguire un'istanza dell'applicazione. Un pod rappresenta una singola istanza dell'applicazione e in genere i pod hanno un mapping 1:1 con un contenitore. AKS Edge Essentials abilita cluster con sistema operativo misto, il che significa che è possibile eseguire contenitori Linux e Windows nello stesso cluster. Ciò è utile quando si dispone di un'applicazione Linux che deve comunicare con un'applicazione Windows o viceversa.

Deployments

Una distribuzione rappresenta uno o più pod identici, gestiti dal controller di distribuzione Kubernetes. La distribuzione definisce il numero di repliche (pod) da creare e l'utilità di pianificazione di Kubernetes garantisce che se si verificano problemi con i pod o i nodi, vengano pianificati pod aggiuntivi sui nodi integri.

File manifesto

Un file manifesto Kubernetes consente di descrivere in modo dichiarativo i carichi di lavoro in formato YAML e semplificare la gestione degli oggetti di Kubernetes. Ad esempio, è possibile usare un file manifesto per assicurarsi che i pod vengano pianificati nei nodi con il sistema operativo corrispondente aggiungendo nodeSelector ai file di distribuzione. Vedere linux-sample.yaml nel pacchetto del repository GitHub per vedere un esempio di manifesto della distribuzione. Tenere presente che, in YAML, è stato specificato un tag nodeSelector come linux.

Distribuire l'applicazione

Per distribuire l'applicazione, usare il comando kubectl apply. Questo comando analizza il file manifesto e crea gli oggetti Kubernetes definiti. Ecco come distribuire un'applicazione Linux in AKS Edge Essentials:

kubectl apply -f  https://raw.githubusercontent.com/Azure/AKS-Edge/main/samples/others/linux-sample.yaml

Distribuire applicazioni in remoto nel cluster AKS Edge Essentials abilitato per Arc

Quando si dispone di un numero elevato di dispositivi e si vuole distribuire la stessa applicazione in tutti questi dispositivi, è possibile usare GitOps e Flux per distribuire applicazioni nel cluster AKS Edge Essentials abilitato per Arc.

GitOps in Kubernetes abilitato per Azure Arc usa Flux. Flux è uno strumento per mantenere sincronizzati i cluster Kubernetes con le origini di configurazione (ad esempio i repository Git) e per automatizzare gli aggiornamenti alla configurazione quando è disponibile un nuovo codice da distribuire.

Interoperabilità con le applicazioni Windows

Molti dei carichi di lavoro nativi del cloud sono basati su Linux, ed è necessario introdurre sistemi Linux per sfruttare i vantaggi delle soluzioni native del cloud. AKS Edge Essentials offre l'interoperabilità tra applicazioni Windows native e carichi di lavoro Linux o Windows in contenitori.

Per stabilire un canale di comunicazione tra il sistema operativo host Windows e le macchine virtuali Linux e Windows, viene usato uno stack di rete Hyper-V. Per altre informazioni sulla rete di AKS Edge Essentials, vedere Rete AKS Edge Essentials.

Dispositivi specializzati con Windows IoT Enterprise

Nello scenario industriale, stiamo cercando di creare un dispositivo specializzato che non necessita di aggiornamenti delle funzionalità e delle funzioni con la stessa frequenza degli altri dispositivi di uso generico nell'organizzazione. È necessario che l'applicazione venga eseguita in un dispositivo creato per uno scopo specifico e non deve essere modificata o aggiornata.

Windows alimenta molti sportelli bancomat, terminali point-of-sale, sistemi di automazione industriale, thin client, dispositivi medici, totem, firma digitale e altri dispositivi a scopo fisso come quelli nel nostro scenario industriale. Windows IoT Enterprise consente di creare questi dispositivi a scopo fisso con quote e restrizioni specifiche nel contratto di licenza.

Quando si vuole lavorare su dispositivi a scopo fisso che spesso richiedono un'opzione di manutenzione più lunga e non richiedono aggiornamenti delle funzionalità come gli altri dispositivi dell'organizzazione, è consigliabile eseguire AKS Edge Essentials in Windows IoT Enterprise con un canale di manutenzione a lungo termine (LTSC) di 10 anni.