Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo fornisce istruzioni dettagliate per la distribuzione manuale di Open/WebSphere Liberty in Azure.
In particolare, questo articolo illustra come eseguire le attività seguenti:
- Eseguire l'applicazione Java, Java Enterprise Edition (EE), Jakarta EE o MicroProfile nel runtime Open Liberty o WebSphere Liberty.
- Compila l'immagine Docker dell'applicazione usando le immagini contenitore Liberty con
az acr build. - Distribuire l'applicazione in contenitori in un cluster del servizio Azure Kubernetes usando un operatore Liberty.
Un operatore Liberty semplifica la distribuzione e la gestione delle applicazioni in esecuzione nei cluster Kubernetes. Con Open Liberty Operator o WebSphere Liberty Operator, è anche possibile eseguire operazioni più avanzate, ad esempio la raccolta di tracce e dump.
Per una soluzione più automatizzata che accelera il percorso verso il servizio Azure Kubernetes usando una soluzione Marketplace disponibile nel portale di Azure, vedere Distribuire un'applicazione Java con Open Liberty/WebSphere Liberty in un cluster del servizio Azure Kubernetes.
Per altre informazioni su Open Liberty, vedere la pagina del progetto Open Liberty. Per altre informazioni su IBM WebSphere Liberty, vedere la pagina del prodotto WebSphere Liberty.
Questo articolo è progettato per facilitare rapidamente la distribuzione. Prima di passare alla produzione, è consigliabile esplorare Tuning Liberty.
Se si è interessati a fornire commenti e suggerimenti o lavorare sugli scenari di migrazione in stretta collaborazione con il team di progettazione che sviluppa WebSphere nelle soluzioni di Azure, compilare questo breve sondaggio sulla migrazione di WebSphere e includere le informazioni di contatto. Il team di responsabili del programma, architetti e ingegneri si metterà immediatamente in contatto con l'utente per avviare una stretta collaborazione.
Prerequisiti
- Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- Interfaccia della riga di comando di Azure versione 2.71.0+
- Java Standard Edition (SE), versione 17, ad esempio Eclipse Open J9.
- Maven versione 3.5.0+
- Git
- Il ruolo
Ownero i ruoliContributoreUser Access Administratornella sottoscrizione di Azure. È possibile verificare l'assegnazione seguendo la procedura descritta in Elencare le assegnazioni di ruolo di Azure usando il portale di Azure.
Accedere ad Azure
Se non è già stato fatto, usare la procedura seguente per accedere alla sottoscrizione di Azure:
Aprire l'interfaccia della riga di comando di Azure o PowerShell e quindi accedere usando
az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere ad Azure con la CLI di Azure.Nota
Se sono associati più tenant di Azure alle credenziali di Azure, è necessario specificare il tenant a cui si vuole accedere. È possibile specificare un tenant con l'opzione
--tenant,az login --tenant contoso.onmicrosoft.comad esempio .Trovare la versione e le librerie dipendenti installate tramite
az version.Eseguire l'aggiornamento alla versione più recente usando
az upgrade.
Nota
Quando si usa l'interfaccia della riga di comando di Azure, se viene richiesto di installare un'estensione dell'interfaccia della riga di comando di Azure, eseguire questa operazione. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
È possibile eseguire la maggior parte dei comandi dell'interfaccia della riga di comando di Azure in PowerShell come in Bash. La differenza esiste solo quando si usano variabili. Nelle sezioni seguenti la differenza viene risolta in schede diverse quando necessario.
Creare un gruppo di risorse
Un gruppo di risorse di Azure è un gruppo logico in cui le risorse di Azure vengono distribuite e gestite.
Creare un gruppo di risorse chiamato java-liberty-project usando az group create nella eastus2 posizione. Questo gruppo di risorse viene utilizzato successivamente per creare l'istanza di Azure Container Registry e il cluster AKS.
export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2
Creare un'istanza del registro di container
Usare az acr create per creare l'istanza del registro dei contenitori. Nell'esempio seguente viene creata un'istanza del registro contenitori denominata <your-unique-ACR-name>. Sostituire questo segnaposto con un valore univoco in Azure.
Nota
Questo articolo usa il meccanismo di autenticazione senza password consigliato per Registro Azure Container. È comunque possibile usare un nome utente e una password con docker login dopo aver usato az acr credential show per ottenere il nome utente e la password. L'uso di un nome utente e di una password è tuttavia meno sicuro dell'autenticazione senza password.
export REGISTRY_NAME=<your-unique-ACR-name>
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name $REGISTRY_NAME \
--sku Basic
Dopo un breve periodo di tempo, dovresti visualizzare l'output JSON che contiene le righe seguenti:
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"resourceGroup": "java-liberty-project",
Recupera il nome del server di accesso per l'istanza del registro dei container. Questo valore è necessario quando si distribuisce l'immagine dell'applicazione nel cluster del servizio Azure Kubernetes in un secondo momento.
export LOGIN_SERVER=$(az acr show \
--name $REGISTRY_NAME \
--query 'loginServer' \
--output tsv)
Creare un cluster AKS
Usare az aks create per creare un cluster AKS, come illustrato nell'esempio seguente. In questo esempio viene creato un cluster del servizio Azure Kubernetes (AKS) denominato myAKSCluster con un nodo e si collega l'istanza del registro contenitori al cluster. Il completamento del comando richiede alcuni minuti.
export CLUSTER_NAME=myAKSCluster
az aks create \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--node-count 1 \
--node-vm-size Standard_DS2_V2 \
--generate-ssh-keys \
--enable-managed-identity \
--attach-acr $REGISTRY_NAME
Al termine del comando, restituisce informazioni in formato JSON sul cluster, incluso l'output seguente:
"nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "java-liberty-project",
Connetti al cluster AKS
Usare la procedura seguente per gestire il cluster Kubernetes:
Installare
kubectl, il client della riga di comando di Kubernetes usandoaz aks install-cli, come illustrato nell'esempio seguente:az aks install-cliUsare
az aks get-credentialsper configurarekubectlper connettersi al cluster Kubernetes. Questo comando scarica le credenziali e configura l'interfaccia della riga di comando di Kubernetes per usarle, come illustrato nell'esempio seguente:Nota
Il comando usa il percorso predefinito per il file di configurazione di Kubernetes, ovvero ~/.kube/config. È possibile specificare un percorso diverso per il file di configurazione kubernetes usando
--file.az aks get-credentials \ --resource-group $RESOURCE_GROUP_NAME \ --name $CLUSTER_NAME \ --overwrite-existing \ --adminVerificare la connessione al cluster usando
kubectl getper restituire un elenco dei nodi del cluster, come illustrato nell'esempio seguente:kubectl get nodesL'esempio di output seguente mostra il nodo singolo creato nei passaggi precedenti. Assicurarsi che lo stato del nodo sia
Ready:NAME STATUS ROLES AGE VERSION aks-nodepool1-xxxxxxxx-yyyyyyyyyy Ready <none> 76s v1.29.9
Creare un database SQL di Azure
Creare un database singolo del database SQL di Azure per l'app seguendo questa procedura:
Usare i comandi seguenti per impostare le variabili di ambiente correlate al database. Sostituire
<your-unique-sql-server-name>con un nome univoco per il server database SQL di Azure.export SQL_SERVER_NAME=<your-unique-sql-server-name> export DB_NAME=demodbUsare i comandi seguenti per creare un singolo database e impostare l'utente connesso corrente come amministratore di Microsoft Entra. Per altre informazioni, vedere Avvio rapido: Creare un database singolo - Database SQL di Azure.
export ENTRA_ADMIN_NAME=$(az account show \ --query user.name \ --output tsv) az sql server create \ --resource-group $RESOURCE_GROUP_NAME \ --name $SQL_SERVER_NAME \ --enable-ad-only-auth \ --external-admin-principal-type User \ --external-admin-name $ENTRA_ADMIN_NAME \ --external-admin-sid $(az ad signed-in-user show --query id --output tsv) az sql db create \ --resource-group $RESOURCE_GROUP_NAME \ --name $DB_NAME \ --server $SQL_SERVER_NAME \ --edition GeneralPurpose \ --compute-model Serverless \ --family Gen5 \ --capacity 2
Nota
Si crea un server SQL di Azure con autenticazione SQL disabilitata per considerazioni sulla sicurezza. Solo l'ID Microsoft Entra viene usato per eseguire l'autenticazione al server. Per altre informazioni sull'abilitazione dell'autenticazione SQL, vedere az sql server create.
Creare una connessione al servizio in AKS con Service Connector
Usare i comandi seguenti per creare una connessione tra il cluster AKS e il database SQL utilizzando il Microsoft Entra Workload ID con Service Connector. Per ulteriori informazioni, vedere Creare una connessione di servizio in AKS con Service Connector.
# Register the Service Connector and Kubernetes Configuration resource providers
az provider register --namespace Microsoft.ServiceLinker --wait
az provider register --namespace Microsoft.KubernetesConfiguration --wait
# Install the Service Connector passwordless extension
az extension add \
--name serviceconnector-passwordless \
--upgrade \
--allow-preview true
# Retrieve the AKS cluster and Azure SQL Server resource IDs
export AKS_CLUSTER_RESOURCE_ID=$(az aks show \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--query id \
--output tsv)
export AZURE_SQL_SERVER_RESOURCE_ID=$(az sql server show \
--resource-group $RESOURCE_GROUP_NAME \
--name $SQL_SERVER_NAME \
--query id \
--output tsv)
# Create a user-assigned managed identity used for workload identity
export USER_ASSIGNED_IDENTITY_NAME=workload-identity-uami
az identity create \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${USER_ASSIGNED_IDENTITY_NAME}
# Retrieve the user-assigned managed identity resource ID
export UAMI_RESOURCE_ID=$(az identity show \
--resource-group ${RESOURCE_GROUP_NAME} \
--name ${USER_ASSIGNED_IDENTITY_NAME} \
--query id \
--output tsv)
# Create a service connection between your AKS cluster and your SQL database using Microsoft Entra Workload ID
az aks connection create sql \
--connection akssqlconn \
--client-type java \
--source-id $AKS_CLUSTER_RESOURCE_ID \
--target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \
--workload-identity $UAMI_RESOURCE_ID
Messaggi di errore della risoluzione dei problemi
Se il az aks connection create sql comando genera un messaggio di errore, trovare il messaggio di errore nell'elenco seguente e quindi usare le istruzioni per risolvere il problema:
Dependency pyodbc can't be installed, please install it manuallyQuesto messaggio di errore indica che il
pyodbcpacchetto non può essere installato, probabilmente a causa di problemi di autorizzazioni. Risolvere il problema attenendosi alla procedura seguente:Trovare il percorso di Python che funziona con l'interfaccia della riga di comando di Azure eseguendo il comando seguente:
az --versionL'output deve contenere
Python location, ad esempio .Python location '/opt/az/bin/python3'Copiare il valore
Python location.Per installare il pacchetto
pyodbcin modalitàsudo, usare il comando seguente. Sostituire<python-location>con il percorso Python copiato nel passaggio precedente.sudo <python-location> -m pip install pyodbc
libodbc.so: impossibile aprire il file oggetto condiviso: nessun file o directory di questo tipo
Si prega di installare manualmente odbc 17/18 per SQL Server
Questi errori indicano che il
odbcdriver non è installato. Risolvere il problema attenendosi alla procedura seguente:Nota
È consigliabile usare l'ID del carico di lavoro Microsoft Entra per proteggere l'accesso al database SQL di Azure senza usare l'autenticazione SQL. Se è necessario usare l'autenticazione SQL, ignorare i passaggi descritti in questa sezione e usare il nome utente e la password per connettersi al database SQL di Azure.
Se usi Linux, apri Installa il driver ODBC di Microsoft per SQL Server (Linux). Se si usa MacOS, aprire Installare il driver MICROSOFT ODBC per SQL Server (macOS).
Seguire le istruzioni per installare Microsoft ODBC Driver (18 o 17) per SQL Server.
Usare
az aks connection create sqldi nuovo per creare la connessione al servizio, come illustrato nell'esempio seguente:az aks connection create sql \ --connection akssqlconn \ --client-type java \ --source-id $AKS_CLUSTER_RESOURCE_ID \ --target-id $AZURE_SQL_SERVER_RESOURCE_ID/databases/$DB_NAME \ --workload-identity $UAMI_RESOURCE_ID
Ottenere l'account di servizio e la chiave segreta creati da Service Connector
Per eseguire l'autenticazione con il database SQL di Azure, seguire questa procedura:
Ottenere l'account del servizio e il segreto creati da Service Connector seguendo le istruzioni nella sezione Aggiorna il tuo contenitore dell'Esercitazione: Connettere un'app AKS a un database SQL di Azure. Usare l'opzione per creare direttamente una distribuzione usando il frammento di codice di esempio YAML fornito.
Nota
Il segreto creato da Service Connector contiene un
AZURE_SQL_CONNECTIONSTRINGvalore, ovvero una stringa di connessione senza password al database SQL di Azure. Per ulteriori informazioni, vedere il valore di esempio nella sezione identità gestita assegnata dall'utente di Integrare il database SQL di Azure con il connettore di servizio.Dalle sezioni evidenziate nell'esempio di distribuzione YAML di Kubernetes, copiare i valori
serviceAccountNameesecretRef.name, come illustrato nell'esempio seguente.serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>Definire le variabili di ambiente usando i comandi seguenti. Assicurarsi di sostituire
<service-account-name>e<secret-name>con i valori copiati nel passaggio precedente:export SERVICE_ACCOUNT_NAME=<service-account-name> export SECRET_NAME=<secret-name>Questi valori vengono usati nella sezione successiva per distribuire l'applicazione Liberty nel cluster del servizio Azure Kubernetes.
Installare l'operatore Open Liberty
In questa sezione si installa Open Liberty Operator nel cluster del servizio Azure Kubernetes per ospitare l'applicazione Liberty.
Installare Open Liberty Operator usando i comandi seguenti:
Nota
Questa guida ti indirizza all'installazione dell'operatore Open Liberty. Per usare l'operatore WebSphere Liberty, vedere Installazione dell'operatore WebSphere Liberty con l'interfaccia della riga di comando di Kubernetes.
# Install cert-manager Operator
export CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml
# Install the Open Liberty Operator
export OPERATOR_VERSION=1.4.2
mkdir -p overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/olo-all-namespaces.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/cluster-roles.yaml -q -P ./overlays/watch-all-namespaces
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/overlays/watch-all-namespaces/kustomization.yaml -q -P ./overlays/watch-all-namespaces
mkdir base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/kustomization.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-crd.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-operator.yaml -q -P ./base
wget https://raw.githubusercontent.com/OpenLiberty/open-liberty-operator/main/deploy/releases/${OPERATOR_VERSION}/kustomize/base/open-liberty-roles.yaml -q -P ./base
kubectl create namespace open-liberty
kubectl apply --server-side -k overlays/watch-all-namespaces
# Remove the downloaded files
rm -rf overlays base
Configurare e compilare l'immagine dell'applicazione
Per distribuire ed eseguire l'applicazione Liberty nel cluster AKS, containerizza l'applicazione come immagine Docker utilizzando immagini Open Liberty o immagini WebSphere Liberty.
Seguire i passaggi descritti in questa sezione per distribuire l'applicazione di esempio nel runtime Liberty. Questi passaggi usano Maven.
Consultare l'applicazione
Clonare il codice di esempio per questa guida usando i comandi seguenti. L'esempio è disponibile nel repository GitHub Open Liberty/WebSphere Liberty in Azure Kubernetes Service Samples , che contiene alcuni esempi. Questo articolo usa l'esempio java-app .
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20250424
Se viene visualizzato un messaggio relativo allo stato di detached HEAD, questo messaggio è sicuro da ignorare. Significa semplicemente che hai controllato un tag. La clonazione del repository crea la struttura di file seguente:
java-app
├─ src/main/
│ ├─ aks/
│ │ ├─ openlibertyapplication-passwordless-db.yaml
│ ├─ docker/
│ │ ├─ Dockerfile
│ │ ├─ Dockerfile-wlp
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ pom.xml
├─ pom-azure-identity.xml
Le directory java, resources e webapp contengono il codice sorgente dell'applicazione di esempio. Il codice dichiara e usa un'origine dati denominata jdbc/JavaEECafeDB.
Nella directory aks, il file openlibertyapplication-passwordless-db.yaml viene utilizzato per distribuire l'immagine dell'applicazione. Nella directory docker sono disponibili due file per creare l'immagine dell'applicazione con Open Liberty o WebSphere Liberty.
Nella directory liberty/config il fileserver.xml viene usato per configurare la connessione di database per il cluster Open Liberty e WebSphere Liberty. Definisce una azure.sql.connectionstring variabile usata per connettersi al database SQL di Azure.
Il file pom.xml è il file POM (Project Object Model) di Maven che contiene le informazioni di configurazione per il progetto. Il file pom-azure-identity.xml dichiara la dipendenza azure-identity, usata per eseguire l'autenticazione ai servizi di Azure usando l'ID Microsoft Entra.
Nota
Questo esempio usa la libreria di azure-identity per eseguire l'autenticazione nel database SQL di Azure usando l'autenticazione Microsoft Entra, consigliata per considerazioni sulla sicurezza. Per altre informazioni sull'uso dell'autenticazione SQL nell'applicazione Liberty, vedere Connessioni di database relazionali con JDBC (Java Database Connectivity).
Compilare il progetto
Dopo aver raccolto le proprietà necessarie, compilare l'applicazione usando i comandi seguenti. Il file POM per il progetto legge molte variabili dall'ambiente. Come parte della compilazione Maven, queste variabili vengono usate per popolare i valori nei file YAML che si trovano in src/main/aks. Se si preferisce, è possibile eseguire operazioni simili per l'applicazione all'esterno di Maven.
cd $BASE_DIR/java-app
# The following variables are used for deployment file generation into target/
export LOGIN_SERVER=${LOGIN_SERVER}
export SC_SERVICE_ACCOUNT_NAME=${SERVICE_ACCOUNT_NAME}
export SC_SECRET_NAME=${SECRET_NAME}
mvn clean install
mvn dependency:copy-dependencies -f pom-azure-identity.xml -DoutputDirectory=target/liberty/wlp/usr/shared/resources
Creare l'immagine per il deployment di AKS
Usare az acr build per compilare l'immagine, come illustrato nell'esempio seguente:
cd $BASE_DIR/java-app/target
az acr build \
--registry ${REGISTRY_NAME} \
--image javaee-cafe:v1 \
.
Il az acr build comando carica gli artefatti specificati nel Dockerfile nell'istanza del registro contenitori, compila l'immagine e la archivia nell'istanza del registro contenitori.
Distribuire l'applicazione nel cluster del servizio Azure Kubernetes
Usare la procedura seguente per distribuire l'applicazione Liberty nel cluster del servizio Azure Kubernetes:
Applicare il file di distribuzione usando i comandi seguenti:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-passwordless-db.yamlDeterminare se l'istanza
OpenLibertyApplicationviene creata usando il comando seguente:kubectl get openlibertyapplication javaee-cafe-cluster --watchL'output seguente è tipico. Usare CTRL+C per uscire.
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY WARNING AGE javaee-cafe-cluster <registry-name>.azurecr.io/javaee-cafe:v1 True True True 57sDeterminare se la distribuzione creata dall'operatore è pronta usando il comando seguente:
kubectl get deployment javaee-cafe-cluster --watchL'output seguente è tipico:
NAME READY UP-TO-DATE AVAILABLE AGE javaee-cafe-cluster 0/3 3 0 20sAttendere che appaia
3/3nella colonnaREADYe3nella colonnaAVAILABLE, quindi usare Ctrl+C per arrestare il processokubectl.
Testare l'applicazione
Quando l'applicazione viene eseguita, un servizio di bilanciamento del carico Kubernetes espone il front-end dell'applicazione a Internet. Il completamento di questo processo può richiedere del tempo.
Usare kubectl get service per ottenere l'indirizzo IP esterno del servizio quando è disponibile, come illustrato nell'esempio seguente:
export APP_URL=http://$(kubectl get service javaee-cafe-cluster -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo $APP_URL
Nota
Se non viene visualizzato un URL valido dall'output, attendere un po' di tempo ed eseguire di nuovo il comando.
Aprire l'URL in un Web browser e controllare la home page dell'applicazione. Se la pagina non viene caricata correttamente, aggiornare la pagina in un secondo momento, dopo l'avvio dell'app. Dovresti vedere il nome del pod delle repliche dell'applicazione visualizzato in alto a sinistra nella pagina. Attendere alcuni minuti e aggiornare la pagina per visualizzare un nome di pod diverso a causa del bilanciamento del carico fornito dal cluster AKS.
Nota
Attualmente, l'applicazione non usa HTTPS. È consigliabile abilitare Transport Layer Security (TLS) con certificati personalizzati. Per ulteriori informazioni, vedere Usare TLS con un controller di ingresso su Azure Kubernetes Service (AKS).
Pulire le risorse
Per evitare addebiti per Azure, è necessario eliminare le risorse non necessarie. Quando il cluster non è più necessario, usare az group delete per rimuovere il gruppo di risorse, il servizio contenitore, il registro contenitori, il database e tutte le risorse correlate.
az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait
Passaggi successivi
Per altre informazioni, vedere i riferimenti seguenti usati in questa guida:
- Che cos'è il servizio Azure Kubernetes?
- Esercitazione: Connettere un'app del servizio Azure Kubernetes a database SQL di Azure
- Integrare database SQL di Azure con Service Connector
- Connettersi con l'autenticazione di Microsoft Entra
- Aprire Liberty
- Operatore Open Liberty
- Panoramica della configurazione di Open Liberty Server
- Plug-in Liberty Maven
- Open Liberty Images
- Immagini del contenitore WebSphere Liberty
Per incorporare Cache Redis di Azure in un'app Java, vedere Avvio rapido: Usare Cache Redis di Azure in Java con il client Redisson Redis.
Per esplorare le opzioni per eseguire prodotti WebSphere in Azure, vedere Quali sono le soluzioni per eseguire la famiglia di prodotti WebSphere in Azure?