ASP.NET containerizzazione e migrazione di app a servizio Azure Kubernetes

Questo articolo illustra come inserire in contenitori ASP.NET applicazioni ed eseguirne la migrazione a servizio Azure Kubernetes usando lo strumento Azure Migrate: Containerization app. Il processo di containerizzazione non richiede l'accesso alla codebase e offre un modo semplice per containerizzare le applicazioni esistenti. Lo strumento funziona usando lo stato in esecuzione delle applicazioni in un server per determinare i componenti dell'applicazione e consente di creare un pacchetto in un'immagine del contenitore. L'applicazione in contenitori può quindi essere distribuita in servizio Azure Kubernetes (servizio Azure Kubernetes).

Lo strumento Azure Migrate: Containerization app supporta attualmente:

  • Containerizzazione di app ASP.NET e distribuzione in contenitori Windows in servizio Azure Kubernetes.
  • Inserimento in contenitori di app ASP.NET e distribuzione in contenitori di Windows in Servizio app di Azure. Altre informazioni
  • Containerizzazione di app Web Java in Apache Tomcat (in server Linux) e distribuzione in contenitori Linux nel servizio Azure Kubernetes. Altre informazioni
  • Containerizzazione di app Web Java in Apache Tomcat (in server Linux) e distribuzione in contenitori Linux in servizio app. Altre informazioni

Lo strumento Azure Migrate: Containerizzazione di app consente di:

  • Individuare l'applicazione: lo strumento si connette in remoto ai server applicazioni che eseguono l'applicazione ASP.NET e individua i componenti dell'applicazione. Lo strumento crea un Dockerfile che può essere usato per creare un'immagine del contenitore per l'applicazione.
  • Compilare l'immagine del contenitore: è possibile controllare e personalizzare ulteriormente il Dockerfile in base ai requisiti dell'applicazione e usarlo per compilare l'immagine del contenitore dell'applicazione. Sull'immagine del contenitore dell'applicazione viene eseguito il push in un Registro Azure Container specificato.
  • Eseguire la distribuzione nel servizio Azure Kubernetes: lo strumento genera quindi i file YAML di definizione delle risorse Kubernetes necessari per distribuire l'applicazione containerizzata nel cluster del servizio Azure Kubernetes. È possibile personalizzare i file YAML e usarli per distribuire l'applicazione nel servizio Azure Kubernetes.

Nota

Lo strumento Azure Migrate: Containerizzazione app consente di individuare tipi di applicazione specifici (ASP.NET e app Web Java in Apache Tomcat) e i relativi componenti in un server applicazioni. Per individuare i server e l'inventario di app, ruoli e funzionalità in esecuzione in computer locali, usare Azure Migrate: funzionalità di individuazione e valutazione. Scopri di più

Anche se tutte le applicazioni non trarranno vantaggio da un passaggio diretto ai contenitori senza riprogettare significativamente, alcuni dei vantaggi dello spostamento delle app esistenti in contenitori senza riscrittura includono:

  • Miglioramento dell'utilizzo dell'infrastruttura : con i contenitori, più applicazioni possono condividere le risorse e essere ospitate nella stessa infrastruttura. Ciò consente di consolidare l'infrastruttura e migliorare l'utilizzo.
  • Gestione semplificata: ospitando le applicazioni in una piattaforma gestita moderna, ad esempio servizio Azure Kubernetes e servizio app, è possibile semplificare le procedure di gestione. È possibile ottenere questo risultato ritirando o riducendo i processi di manutenzione e gestione dell'infrastruttura tradizionalmente eseguiti con l'infrastruttura di proprietà.
  • Portabilità delle applicazioni: con maggiore adozione e standardizzazione dei formati e delle piattaforme delle specifiche dei contenitori, la portabilità delle applicazioni non è più un problema.
  • Adottare la gestione moderna con DevOps : consente di adottare e standardizzare le procedure moderne per la gestione e la sicurezza e la transizione a DevOps.

In questa esercitazione si apprenderà come:

  • Configurare un account Azure.
  • Installare lo strumento Azure Migrate: Containerizzazione di app.
  • Individuare l'applicazione ASP.NET.
  • Compilare l'immagine del contenitore.
  • Distribuire l'applicazione in contenitori nel servizio Azure Kubernetes.

Nota

Le esercitazioni illustrano il percorso di distribuzione più semplice per uno scenario, per consentire di configurare rapidamente un modello di verifica. Quando possibile vengono usate le opzioni predefinite e non sono riportati tutti i percorsi e le impostazioni possibili.

Prerequisiti

Prima di iniziare questa esercitazione, è necessario:

Requisito Dettagli
Identificare un computer per installare lo strumento Un computer Windows per installare ed eseguire lo strumento Azure Migrate: Containerization app. Il computer Windows potrebbe essere un server (Windows Server 2016 o versione successiva) o un sistema operativo client (Windows 10), il che significa che lo strumento può essere eseguito anche sul desktop.

Il computer Windows che esegue lo strumento deve disporre della connettività di rete per i server o le macchine virtuali che ospitano le applicazioni ASP.NET di cui eseguire la containerizzazione.

Assicurarsi che lo spazio di 6 GB sia disponibile nel computer Windows che esegue lo strumento Azure Migrate: Containerization per l'archiviazione degli artefatti dell'applicazione.

Il computer Windows deve disporre di accesso a Internet, diretto o tramite un proxy.

Installare lo strumento Microsoft Web Deploy nel computer che esegue lo strumento helper di containerizzazione app e il server applicazioni, se non è già installato. È possibile scaricare lo strumento qui.
Server applicazioni Abilitare la comunicazione remota di PowerShell nei server applicazioni: accedere al server applicazioni e seguire queste istruzioni per attivare la comunicazione remota di PowerShell.

Se il server applicazioni esegue Windows Server 2008 R2, assicurarsi che PowerShell 5.1 sia installato nel server applicazioni. Seguire le istruzioni riportate qui per scaricare e installare PowerShell 5.1 nel server applicazioni.

Installare lo strumento Microsoft Web Deploy nel computer che esegue lo strumento helper di containerizzazione app e il server applicazioni, se non è già installato. È possibile scaricare lo strumento qui.
applicazione ASP.NET Lo strumento attualmente supporta:
- ASP.NET applicazioni che usano Microsoft .NET Framework 3.5 o versione successiva.
- Server applicazioni che eseguono Windows Server 2008 R2 o versione successiva (i server applicazioni devono eseguire PowerShell versione 5.1).
- Applicazioni in esecuzione in Internet Information Services (IIS) 7.5 o versioni successive.

Lo strumento attualmente non supporta:
- Le applicazioni che richiedono autenticazione di Windows (lo strumento di containerizzazione delle app attualmente non supporta l'account del servizio gestito del gruppo).
- Applicazioni che dipendono da altri servizi Windows ospitati all'esterno di IIS.

Preparare un account utente Azure

Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

Dopo aver configurato la sottoscrizione, è necessario un account utente di Azure con:

  • Autorizzazioni di proprietario per la sottoscrizione di Azure.
  • Autorizzazioni per la registrazione di app Azure Active Directory.

Se è appena stato creato un account Azure gratuito, si è proprietari della propria sottoscrizione. Se non si ha il ruolo di proprietario della sottoscrizione, collaborare con il proprietario per assegnare le autorizzazioni nel modo seguente:

  1. Nel portale di Azure cercare "sottoscrizioni" e in Servizi selezionare Sottoscrizioni.

    Screenshot della casella di ricerca per cercare la sottoscrizione di Azure.

  2. Nella pagina Sottoscrizioni selezionare la sottoscrizione in cui creare un progetto di Azure Migrate.

  3. Selezionare Controllo di accesso (IAM) .

  4. Selezionare Aggiungi aggiungi>assegnazione di ruolo per aprire la pagina Aggiungi assegnazione di ruolo .

  5. Assegnare il ruolo seguente. Per i passaggi dettagliati, vedere Assegnazione di ruoli di Azure tramite il portale di Azure.

    Impostazione Valore
    Ruolo Proprietario
    Assegna accesso a Utente
    Membri azmigrateuser (in questo esempio)

    Screenshot della pagina aggiungi assegnazione di ruolo in portale di Azure.

  6. L'account Azure necessita anche di autorizzazioni per registrare le app Azure Active Directory.

  7. Nel portale di Azure, passare a Azure Active Directory>Utenti>Impostazioni utente.

  8. In Impostazioni utente verificare che gli utenti di Azure AD possano registrare le applicazione (impostato su per impostazione predefinita).

    Screenshot della verifica in Impostazioni utente se gli utenti possono registrare le app di Active Directory.

  9. Se le impostazioni "Registrazioni app" sono configurate su "No", chiedere all'amministratore tenant/globale di assegnare l'autorizzazione necessaria. In alternativa, l'amministratore tenant/globale può assegnare il ruolo Sviluppatore applicazione a un account per consentire la registrazione di app Azure Active Directory. Altre informazioni

Scaricare e installare lo strumento Azure Migrate: Containerizzazione di applicazioni

  1. Scaricare il programma di installazione di Azure Migrate: Containerizzazione di app in un computer Windows.

  2. Avviare PowerShell in modalità amministratore e modificare la directory di PowerShell nella cartella contenente il programma di installazione.

  3. Eseguire lo script di installazione usando il comando

    .\AppContainerizationInstaller.ps1
    

Avviare lo strumento di contenitore app

  1. Aprire un browser in qualsiasi computer in grado di connettersi al computer Windows che esegue lo strumento Contenitore app e aprire l'URL dello strumento: https:// machine nome o indirizzo IP: 44369.

    In alternativa, è possibile aprire l'app dal desktop selezionando il collegamento all'app.

  2. Se viene visualizzato un avviso che indica che la connessione non è privata, selezionare Avanzate e scegliere di procedere al sito Web. Questo avviso viene visualizzato come interfaccia Web usa un certificato TLS/SSL autofirmato.

  3. Nella schermata Accesso usare l'account amministratore locale nel computer per accedere.

  4. Selezionare ASP.NET web apps (App Web ASP.NET) come tipo di applicazione da containerizzare.

  5. Per specificare il servizio di Azure di destinazione, selezionare Containers on Azure Kubernetes Service (Contenitori in servizio Azure Kubernetes).

    Screenshot del caricamento predefinito per lo strumento Contenitore app.

Prerequisiti completi degli strumenti

  1. Accettare le condizioni di licenza e leggere le informazioni di terze parti.
  2. Nell'app > Web strumento Configurare i prerequisiti seguire questa procedura:
    • Connettività: lo strumento verifica che il computer Windows abbia accesso a Internet. Se il computer usa un proxy:
      • Selezionare Configura proxy per specificare l'indirizzo proxy (nel modulo indirizzo IP o FQDN) e la porta di ascolto.
      • Se il proxy richiede l'autenticazione, specificare le credenziali.
      • È supportato solo il proxy HTTP.
      • Se sono stati aggiunti i dettagli del proxy o disabilitato il proxy e/o l'autenticazione, selezionare Salva per attivare di nuovo la verifica della connettività.
    • Installare gli aggiornamenti: lo strumento verificherà automaticamente gli aggiornamenti più recenti e li installerà. È anche possibile installare manualmente la versione più recente dello strumento da qui.
    • Installare lo strumento Di distribuzione Web Microsoft: lo strumento verificherà che lo strumento Di distribuzione Web Microsoft sia installato nel computer Windows che esegue lo strumento Azure Migrate: Containerization app.
    • Abilitare la comunicazione remota di PowerShell: lo strumento informa di assicurarsi che la comunicazione remota di PowerShell sia abilitata nei server applicazioni che eseguono le applicazioni ASP.NET da inserire in contenitori.

Accedere ad Azure

  1. Selezionare Accedi e accedere al proprio account Azure.

  2. Per eseguire l'autenticazione con Azure, sarà necessario un codice del dispositivo. Se si seleziona Accedi , verrà aperto un modale con il codice del dispositivo.

  3. Selezionare Copia accesso al codice & per copiare il codice del dispositivo e aprire una richiesta di accesso di Azure in una nuova scheda del browser. Se non viene visualizzata, assicurarsi di aver disabilitato il blocco popup nel browser.

    Screenshot di modale che mostra il codice del dispositivo.

  4. Nella nuova scheda incollare il codice del dispositivo e completare l'accesso usando le credenziali dell'account Azure. È possibile chiudere la scheda del browser dopo aver completato l'accesso e tornare alla schermata dello strumento Contenitore app.

  5. Selezionare il tenant di Azure che si desidera usare.

  6. Selezionare la sottoscrizione di Azure da usare.

Individuare le applicazioni ASP.NET

Lo strumento helper di Containerizzazione delle applicazioni si connette da remoto ai server applicazioni usando le credenziali fornite e tenta di individuare applicazioni ASP.NET ospitate nei server applicazioni.

  1. Specificare l'indirizzo IP/FQDN e le credenziali del server che esegue l'applicazione ASP.NET che deve essere usata per connettersi in remoto al server per l'individuazione dell'applicazione.

    • Le credenziali specificate devono essere per un amministratore locale (Windows) nel server applicazioni.
    • Per gli account di dominio (l'utente deve essere un amministratore nel server applicazioni), prefisso il nome utente con il nome di dominio nel formato <dominio\nome utente>.
    • È possibile eseguire l'individuazione delle applicazioni per un massimo di cinque server alla volta.
  2. Selezionare Convalida per verificare che il server applicazioni sia raggiungibile dal computer che esegue lo strumento e che le credenziali siano valide. Al termine della convalida, la colonna di stato mostrerà lo stato Mapped (Mappato).

    Screenshot per l'indirizzo IP e le credenziali del server.

  3. Selezionare Continua per avviare l'individuazione delle applicazioni nei server applicazioni selezionati.

  4. Al termine dell'individuazione dell'applicazione, è possibile selezionare l'elenco delle applicazioni da containerizzare.

    Screenshot per l'applicazione ASP.NET individuata.

  5. Utilizzare la casella di controllo per selezionare le applicazioni da contenitore.

  6. Specificare il nome del contenitore: specificare un nome per il contenitore di destinazione per ogni applicazione selezionata. Il nome del contenitore deve essere specificato come <nome:tag> in cui il tag viene usato per l'immagine del contenitore. Ad esempio, è possibile specificare il nome del contenitore di destinazione come nome app:v1.

Parametrizzare le configurazioni dell'applicazione

La parametrizzazione della configurazione la rende disponibile come parametro ora di distribuzione. In questo modo è possibile configurare l'impostazione durante la distribuzione dell'applicazione anziché renderla hardcoded a un valore specifico nell'immagine del contenitore. Questa opzione, ad esempio, è utile per parametri come le stringhe di connessione di database.

  1. Selezionare configurazioni delle app per esaminare le configurazioni rilevate.

  2. Selezionare la casella di controllo per parametrizzare le configurazioni dell'applicazione rilevate.

  3. Selezionare Applica dopo aver selezionato le configurazioni da parametrizzare.

    Screenshot per la parametrizzazione della configurazione dell'app ASP.NET'applicazione.

Esternalizzare le dipendenze del file system

È possibile aggiungere altre cartelle usate dall'applicazione. Specificare se devono essere parte dell'immagine del contenitore o se devono essere esternalizzate tramite volumi persistenti nella condivisione file di Azure. L'uso di volumi persistenti funziona in modo ottimale per le applicazioni con stato che archiviano lo stato all'esterno del contenitore o che hanno altri contenuti statici archiviati nel file system. Altre informazioni

  1. Selezionare Modifica in Cartelle dell'app per esaminare le cartelle dell'applicazione rilevate. Le cartelle dell'applicazione rilevate sono state identificate come artefatti obbligatori necessari per l'applicazione e verranno copiate nell'immagine del contenitore.

  2. Selezionare Aggiungi cartelle e specificare i percorsi delle cartelle da aggiungere.

  3. Per aggiungere più cartelle allo stesso volume, specificare valori separati da virgole (,).

  4. Selezionare Volume persistente come opzione di archiviazione se si desidera che le cartelle vengano archiviate all'esterno del contenitore in un volume persistente.

  5. Selezionare Salva dopo aver esaminato le cartelle dell'applicazione. Screenshot per la selezione di archiviazione dei volumi di app.

  6. Selezionare Continua per passare alla fase di compilazione dell'immagine del contenitore.

Compilare l'immagine del contenitore

Importante

Se si usa il servizio Azure Kubernetes 1.23+, modificare gli script come illustrato di seguito prima di compilare l'immagine docker per garantire una migrazione senza problemi.

Modificare lo script seguente

# Run entrypoint script.
COPY ./Entryscript.ps1 c:/Entryscript.ps1
ENTRYPOINT powershell c:/Entryscript.ps1

in

# Run entrypoint script. 
COPY ["./Entryscript.ps1", "c:/Entryscript.ps1"]
ENTRYPOINT ["powershell", "c:/Entryscript.ps1"]

Per compilare un'immagine del contenitore, seguire questa procedura:

  1. Selezionare Registro Azure Container: usare l'elenco a discesa per selezionare un Registro Azure Container che verrà usato per compilare e archiviare le immagini del contenitore per le app. È possibile usare un Registro Azure Container esistente o scegliere di crearne uno nuovo usando l'opzione Crea nuovo Registro di sistema.

    Screenshot per la selezione del Registro Azure Container dell'app.

  2. Esaminare Dockerfile: Il Dockerfile necessario per compilare le immagini del contenitore per ogni applicazione selezionata viene generato all'inizio del passaggio di compilazione. Selezionare Rivedi per rivedere il Dockerfile. È anche possibile aggiungere tutte le personalizzazioni necessarie al Dockerfile nel passaggio di revisione e salvare le modifiche prima di avviare il processo di compilazione.

  3. Processo di compilazione trigger: selezionare le applicazioni per compilare immagini e selezionare Compila. La selezione della compilazione avvierà la compilazione dell'immagine del contenitore per ogni applicazione. Lo strumento monitora costantemente lo stato di compilazione e consente di procedere al passaggio successivo al completamento della compilazione.

  4. Tenere traccia dello stato di compilazione: è anche possibile monitorare lo stato di avanzamento del passaggio di compilazione selezionando il collegamento Build in Progress nella colonna stato. L'attivazione del collegamento richiede alcuni minuti dopo aver avviato il processo di compilazione.

  5. Al termine della compilazione, selezionare Continua per specificare le impostazioni di distribuzione.

    Screenshot per il completamento della compilazione dell'immagine del contenitore dell'app.

Distribuire l'app in contenitori nel servizio Azure Kubernetes

Dopo aver compilato l'immagine del contenitore, il passaggio successivo consiste nel distribuire l'applicazione come contenitore in servizio Azure Kubernetes (servizio Azure Kubernetes).

  1. Selezionare il cluster servizio Azure Kubernetes: specificare il cluster del servizio Azure Kubernetes a cui deve essere distribuita l'applicazione.

    • Il cluster del servizio Azure Kubernetes selezionato deve avere un pool di nodi Windows.
    • Il cluster deve essere configurato per consentire il pull di immagini dal Registro Azure Container selezionato per archiviare le immagini.
      • Eseguire il comando seguente nell'interfaccia della riga di comando di Azure per collegare il cluster del servizio Azure Kubernetes al Registro Azure Kubernetes.
        az aks update -n <cluster-name> -g <cluster-resource-group> --attach-acr <acr-name>
        
    • Se non si dispone di un cluster del servizio Azure Kubernetes o si vuole creare un nuovo cluster del servizio Azure Kubernetes in cui distribuire l'applicazione, è possibile scegliere di crearlo dallo strumento selezionando Crea nuovo cluster del servizio Azure Kubernetes.
      • Il cluster del servizio Azure Kubernetes creato usando lo strumento verrà creato con un pool di nodi Windows. Il cluster verrà configurato per consentire il pull delle immagini dalla Registro Azure Container creata in precedenza (se è stata scelta la creazione di una nuova opzione del Registro di sistema).
    • Selezionare Continua dopo aver selezionato il cluster del servizio Azure Kubernetes.
  2. Specificare l'archivio segreto: se si è scelto di parametrizzare le configurazioni dell'applicazione, specificare l'archivio segreto da usare per l'applicazione. È possibile scegliere Azure Key Vault o servizio app impostazioni dell'applicazione per la gestione dei segreti dell'applicazione. Scopri di più

    • Se è stata selezionata servizio app impostazioni dell'applicazione per la gestione dei segreti, selezionare Continua.
    • Se si vuole usare un Key Vault di Azure per la gestione dei segreti dell'applicazione, specificare il Key Vault di Azure da usare.
      • Se non si dispone di un Key Vault di Azure o si vuole creare una nuova Key Vault, è possibile scegliere di crearlo dallo strumento selezionando Crea nuovo Key Vault di Azure.
      • Lo strumento assegnerà automaticamente le autorizzazioni necessarie per la gestione dei segreti tramite Key Vault.
  3. Specificare la condivisione file di Azure: se sono state aggiunte altre cartelle e è stata selezionata l'opzione Volume persistente, specificare la condivisione file di Azure che deve essere usata dallo strumento Azure Migrate: Contenitore app durante il processo di distribuzione. Tale strumento crea nuove directory in questa condivisione file di Azure per copiarle nelle cartelle dell'applicazione configurate per l'archiviazione Volume permanente. Al termine della distribuzione dell'applicazione, lo strumento esegue una pulizia della condivisione file di Azure eliminando le directory create.

    • Se non si dispone di una condivisione file di Azure o si vuole creare una nuova condivisione file di Azure, è possibile scegliere di crearlo dallo strumento selezionando Crea nuovo account di archiviazione e condivisione file.
  4. Configurazione della distribuzione dell'applicazione: dopo aver completato i passaggi precedenti, è necessario specificare la configurazione di distribuzione per l'applicazione. Selezionare Configura per personalizzare la distribuzione per l'applicazione. Nel passaggio di configurazione è possibile fornire le personalizzazioni seguenti:

    • Stringa di prefisso: specificare una stringa di prefisso da usare nel nome per tutte le risorse create per l'applicazione in contenitori nel cluster del servizio Azure Kubernetes.
    • Certificato SSL: se l'applicazione richiede un'associazione del sito https, specificare il file PFX che contiene il certificato da usare per l'associazione. Il file PFX non deve essere protetto da password e il sito originale non deve avere più associazioni.
    • Set di repliche: specificare il numero di istanze dell'applicazione (pod) da eseguire all'interno dei contenitori.
    • Tipo di servizio di bilanciamento del carico: selezionare Esterno se l'applicazione in contenitori deve essere raggiungibile dalle reti pubbliche.
    • Configurazione applicazione: per tutte le configurazioni dell'applicazione con parametri, specificare i valori da usare per la distribuzione corrente.
    • Archiviazione: per tutte le cartelle dell'applicazione configurate per l'archiviazione volume persistente, specificare se il volume deve essere condiviso tra istanze dell'applicazione o deve essere inizializzato singolarmente con ogni istanza del contenitore. Per impostazione predefinita, tutte le cartelle dell'applicazione nei volumi persistenti vengono configurate come condivise.
    • Selezionare Applica per salvare la configurazione della distribuzione.
    • Selezionare Continua per distribuire l'applicazione.

    Screenshot per la configurazione dell'app di distribuzione.

  5. Distribuire l'applicazione: dopo aver salvato la configurazione della distribuzione per l'applicazione, lo strumento genererà la distribuzione YAML di Kubernetes per l'applicazione.

    • Selezionare Rivedi per esaminare e personalizzare la distribuzione YAML di Kubernetes per le applicazioni.

    • Selezionare l'applicazione da distribuire.

    • Selezionare Distribuisci per avviare le distribuzioni per le applicazioni selezionate

      Screenshot per la configurazione della distribuzione delle app.

    • Dopo aver distribuito l'applicazione, è possibile selezionare la colonna Stato distribuzione per tenere traccia delle risorse distribuite per l'applicazione.

Scaricare gli artefatti generati

Tutti gli artefatti usati per compilare e distribuire l'applicazione nel servizio Azure Kubernetes, inclusi i file di specifica Dockerfile e Kubernetes YAML, vengono archiviati nel computer che esegue lo strumento. Gli artefatti si trovano in C:\ProgramData\Microsoft Azure Migrate App Containerization.

Viene creata una singola cartella per ogni server applicazioni. È possibile visualizzare e scaricare tutti gli artefatti intermedi usati nel processo di containerizzazione passando a questa cartella. La cartella corrispondente al server applicazioni verrà pulita all'inizio di ogni esecuzione dello strumento per un determinato server.

Risolvere i problemi

Per risolvere eventuali problemi relativi allo strumento, è possibile esaminare i file di log nel computer Windows che esegue lo strumento Di containerizzazione app. I file di log degli strumenti si trovano nella cartella C:\ProgramData\Microsoft Azure Migrate App Containerization\Logs .

Passaggi successivi

  • Contenitore ASP.NET app Web e distribuirle nei contenitori Windows in servizio app. Altre informazioni
  • Contenitori di app Web Java in Apache Tomcat (in server Linux) e distribuirli in contenitori Linux nel servizio Azure Kubernetes. Altre informazioni
  • Contenitore di app Web Java in Apache Tomcat (in server Linux) e distribuirli in contenitori Linux in servizio app. Altre informazioni