Introduzione
Si supponga di essere uno sviluppatore Java, creare e distribuire app da eseguire in server locali. È un processo complesso orchestrare questi server e gestire dipendenze, ridimensionamento e altre considerazioni.
A differenza delle macchine virtuali che emulano l'hardware, i contenitori vengono eseguiti direttamente sul sistema operativo host, sul kernel e sull'hardware come processi ordinari. A causa di questa semplicità, i contenitori richiedono un minor numero di risorse di sistema. Il risultato è un footprint più piccolo con un sovraccarico notevolmente inferiore, tempi di avvio delle app più veloci e un ottimo caso d'uso per il ridimensionamento su richiesta.
Con i contenitori, assicuri che le tue app e le dipendenze siano sempre isolate in immagini dei contenitori e pronte per la distribuzione su larga scala.
In questo modulo viene innanzitutto inserita in un contenitore un'app Java esistente. Dalla rete Internet aperta e condivisa con la licenza MIT, Flight Booking System for Airline Reservations è un sistema di prenotazione dei voli completamente reattivo, di esempio basato sul Web basato su una compagnia aerea di esempio, creata con l'architettura MVC (Model View Controller) creata con Java Servlets e Java Server Pages (JSP). L'applicazione Web originale è stata progettata per l'esecuzione in Java SE 8 e Tomcat 8.5. Tuttavia, è stato aggiornato per modernizzare l'applicazione, consentendo l'esecuzione in Java SE 17 e Tomcat 10.1.
Dopo aver containerizzato l'app, si crea un Dockerfile e si scrivono le istruzioni di Docker necessarie per costruire un'immagine del contenitore. Eseguire quindi l'immagine del contenitore in locale e testare l'app. Si esegue quindi il push dell'immagine del contenitore in Registro Azure Container e la si distribuisce nel servizio Azure Kubernetes.
Al termine di questo modulo, si sarà in grado di inserire in contenitori un'app Java, eseguire il push dell'immagine del contenitore in Registro Azure Container e quindi distribuirla nel servizio Azure Kubernetes.
Si usa la propria sottoscrizione di Azure, con accesso per creare, aggiornare e rimuovere risorse, per distribuire le risorse in questo modulo. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
Importante
Per evitare addebiti superflui nella sottoscrizione di Azure, una volta completato questo modulo ricordare di effettuare il deprovisioning delle risorse di Azure.
Obiettivi di apprendimento
Al termine di questo modulo, sarà possibile eseguire le attività seguenti:
- Containerizzare un'app Java.
- Creare un'immagine del contenitore per l'app Java.
- Eseguire l'immagine del contenitore in locale.
- Eseguire il push dell'immagine del contenitore in Registro Azure Container.
- Distribuire l'immagine del contenitore nel servizio Azure Kubernetes.
Prerequisiti
Gli sviluppatori Java hanno già familiarità con la creazione di app. Quando si completano gli esercizi in questo modulo, si usa un account Azure personale. Assicurarsi di disporre delle risorse seguenti:
- Una sottoscrizione di Azure con accesso per creare, aggiornare e rimuovere le risorse.
- Installazioni locali dell'interfaccia della riga di comando di Docker, dell'interfaccia della riga di comando di Git e dell'interfaccia della riga di comando di Azure, versione 2.66 o successiva.