Distribuire manualmente un'applicazione Java con Open Liberty o WebSphere Liberty in un cluster servizio Azure Kubernetes (AKS)
Questo articolo fornisce istruzioni dettagliate per l'esecuzione di Open/WebSphere Liberty in Azure.
In particolare, questo articolo illustra come eseguire le attività seguenti:
- Eseguire l'applicazione Java, Java EE, Jakarta EE o MicroProfile nel runtime Open Liberty o WebSphere Liberty.
- Compilare l'immagine Docker dell'applicazione con
az acr build
immagini del contenitore Liberty. - Distribuire l'applicazione in contenitori in un cluster del servizio Azure Kubernetes servizio Azure Kubernetes usando l'operatore Liberty.
L'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, vedere Distribuire un'applicazione Java con Open Liberty/WebSphere Liberty in un cluster servizio Azure Kubernetes (AKS).
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.
- Preparare un computer locale con Windows, macOS o Linux installato.
- Installare l'interfaccia della riga di comando di Azure 2.61.0 o versione successiva per eseguire i comandi dell'interfaccia della riga di comando di Azure.
- Accedere con l'interfaccia della riga di comando di Azure usando il comando az login . Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere ad Azure con l'interfaccia della riga di comando di Azure .
- Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare e gestire le estensioni con l'interfaccia della riga di comando di Azure.
- Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
- Installare un'implementazione di Java edizione Standard (SE), versione 17 (ad esempio, Eclipse Open J9).
- Installare Maven versione 3.5.0 o successiva.
- Assicurarsi che Git sia installato.
- Assicurarsi di essere assegnati al ruolo o ai ruoli
Owner
oContributor
eUser Access Administrator
nella sottoscrizione. È 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, accedere alla sottoscrizione di Azure usando il comando az login e seguire le istruzioni visualizzate.
az login
Nota
È 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.
Se sono associati più tenant di Azure alle credenziali di Azure, è necessario specificare il tenant a cui si vuole accedere. È possibile eseguire questa operazione con l'opzione --tenant
. Ad esempio: az login --tenant contoso.onmicrosoft.com
.
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 denominato java-liberty-project
usando il comando az group create nel eastus2
percorso. Questo gruppo di risorse viene usato in un secondo momento per creare l'istanza di Registro Azure Container e il cluster del servizio Azure Kubernetes.
export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2
Creare un'istanza del Registro Container
Usare il comando az acr create per creare l'istanza del Registro Container. Nell'esempio seguente viene creata un'istanza del Registro Container denominata youruniqueacrname
. Assicurarsi che youruniqueacrname
sia univoco all'interno di Azure.
Nota
Questo articolo usa il meccanismo di autenticazione senza password consigliato per Registro Container. È comunque possibile usare il nome utente e la password con docker login
dopo aver usato az acr credential show
per ottenere il nome utente e la password. L'uso di nome utente e password è meno sicuro dell'autenticazione senza password.
export REGISTRY_NAME=youruniqueacrname
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name $REGISTRY_NAME \
--sku Basic
Dopo un breve periodo di tempo, dovrebbe essere visualizzato un output JSON contenente le righe seguenti:
"provisioningState": "Succeeded",
"publicNetworkAccess": "Enabled",
"resourceGroup": "java-liberty-project",
Recuperare quindi il server di accesso per l'istanza del Registro 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 del servizio Azure Kubernetes
Usare il comando az aks create per creare un cluster del servizio Azure Kubernetes. Nell'esempio seguente viene creato un cluster denominato myAKSCluster
con un nodo. Il completamento di questo comando richiede diversi minuti.
export CLUSTER_NAME=myAKSCluster
az aks create \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--node-count 1 \
--generate-ssh-keys \
--enable-managed-identity
Il comando viene completato dopo pochi minuti e vengono restituite informazioni in formato JSON relative al cluster, he includono il seguente output:
"nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
"privateFqdn": null,
"provisioningState": "Succeeded",
"resourceGroup": "java-liberty-project",
Collegare l'istanza del Registro Container al cluster del servizio Azure Kubernetes
Eseguire il comando az aks update per collegare l'istanza del Registro Container al cluster del servizio Azure Kubernetes in modo che il cluster del servizio Azure Kubernetes sia autenticato per eseguire il pull delle immagini dall'istanza del Registro Container, come illustrato nell'esempio seguente:
az aks update \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--attach-acr $REGISTRY_NAME
Connettersi al cluster servizio Azure Kubernetes
Per gestire un cluster Kubernetes, usare kubectl, il client della riga di comando Kubernetes. Per eseguire l'installazione kubectl
in locale, usa il comando az aks install-cli, come illustrato nell'esempio seguente:
az aks install-cli
Per configurare kubectl
per la connessione al cluster Kubernetes, usare il comando az servizio Azure Kubernetes get-credentials. Questo comando scarica le credenziali e configura l'interfaccia della riga di comando di Kubernetes per usarli.
az aks get-credentials \
--resource-group $RESOURCE_GROUP_NAME \
--name $CLUSTER_NAME \
--overwrite-existing \
--admin
Nota
Il comando riportato sopra usa il percorso predefinito del file di configurazione di Kubernetes, ossia ~/.kube/config
. È possibile specificare un percorso diverso per il file di configurazione di Kubernetes usando --file
.
Per verificare la connessione al cluster, usare il comando kubectl get per restituire un elenco di nodi del cluster.
kubectl get nodes
L'esempio di output seguente mostra il nodo singolo creato nei passaggi precedenti. Assicurarsi che lo stato del nodo sia impostato su Pronto:
NAME STATUS ROLES AGE VERSION
aks-nodepool1-xxxxxxxx-yyyyyyyyyy Ready <none> 76s v1.29.9
Creare un database SQL di Azure
In questa sezione viene creato un database singolo database SQL di Azure da usare con l'app.
Impostare prima di tutto 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=demodb
Eseguire il comando seguente nel terminale per creare un database singolo in database SQL di Azure 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 ad signed-in-user show --query userPrincipalName --output tsv)
az sql server create \
--name $SQL_SERVER_NAME \
--resource-group $RESOURCE_GROUP_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 \
--server $SQL_SERVER_NAME \
--name $DB_NAME \
--edition GeneralPurpose \
--compute-model Serverless \
--family Gen5 \
--capacity 2
Aggiungere quindi l'indirizzo IP locale alle regole del firewall del server database SQL di Azure per consentire al computer locale di connettersi al database per i test locali in un secondo momento.
export AZ_LOCAL_IP_ADDRESS=$(curl -s https://whatismyip.akamai.com)
az sql server firewall-rule create \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name AllowLocalIP \
--start-ip-address $AZ_LOCAL_IP_ADDRESS \
--end-ip-address $AZ_LOCAL_IP_ADDRESS
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. Se è necessario abilitare l'autenticazione SQL, vedere az sql server create per altre informazioni.
Creare una connessione al servizio nel servizio Azure Kubernetes con Service Connector
Eseguire i comandi seguenti per creare una connessione tra il cluster del servizio Azure Kubernetes e il database SQL usando ID dei carichi di lavoro di Microsoft Entra con Service Connector. Per altre informazioni, vedere Creare una connessione al servizio nel servizio Azure Kubernetes con Service Connector (anteprima).
# 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
Nota
È consigliabile usare ID dei carichi di lavoro di Microsoft Entra per proteggere l'accesso alle database SQL di Azure senza usare l'autenticazione SQL. Se è necessario usare l'autenticazione SQL, ignorare i passaggi precedenti in questa sezione e usare il nome utente e la password per connettersi al database SQL di Azure.
Ottenere l'account servcie e il segreto creati da Service Connector
Per eseguire l'autenticazione al database SQL di Azure, è necessario ottenere l'account del servizio e il segreto creati da Service Connector. Seguire la sezione Aggiornare il contenitore. Usare l'opzione Creare direttamente una distribuzione usando il frammento di codice di esempio YAML fornito ed eseguire la procedura seguente:
Dalle sezioni evidenziate nell'esempio di distribuzione YAML di Kubernetes copiare i
serviceAccountName
valori esecretRef.name
, come illustrato nell'esempio seguente:serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>
Sostituire
<service-account-name>
e<secret-name>
con i valori copiati nel passaggio precedente per definire le variabili di ambiente seguenti: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.
Nota
Il segreto creato da Service Connector contiene , AZURE_SQL_CONNECTIONSTRING
che è una password gratuita stringa di connessione al database SQL di Azure. Per altre informazioni, vedere Il valore di esempio dell'autenticazione dell'identità gestita assegnata dall'utente .
Installare Open Liberty Operator
In questa sezione si installa Open Liberty Operator nel cluster del servizio Azure Kubernetes per ospitare l'applicazione Liberty.
Installare Open Liberty Operator eseguendo i comandi seguenti:
# Install cert-manager Operator
CERT_MANAGER_VERSION=v1.11.2
kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/${CERT_MANAGER_VERSION}/cert-manager.yaml
# Install Open Liberty Operator
export OPERATOR_VERSION=1.4.0
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
Configurare e compilare l'immagine dell'applicazione
Per distribuire ed eseguire l'applicazione Liberty nel cluster del servizio Azure Kubernetes, inserire in un contenitore l'applicazione come immagine Docker usando immagini del contenitore Open Liberty o immagini del contenitore 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. L'esempio è disponibile in GitHub. Nel repository sono disponibili alcuni esempi. Questo articolo usa l'esempio java-app
. I file importanti vengono visualizzati di seguito.
git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241029
Se viene visualizzato un messaggio relativo allo stato "HEAD scollegato", questo messaggio può essere tranquillamente ignorato. Significa semplicemente che è stato estratto un tag.
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 del servizio Azure Kubernetes il file openlibertyapplication-passwordless-db.yaml viene usato 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 server.xml viene usato per configurare la connessione di database per il cluster Open Liberty e WebSphere Liberty. Definisce una variabile azure.sql.connectionstring
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 azure-identity
la dipendenza, che viene usata per eseguire l'autenticazione ai servizi di Azure usando Microsoft Entra ID.
Nota
Questo esempio usa la azure-identity
libreria per eseguire l'autenticazione per database SQL di Azure usando l'autenticazione di Microsoft Entra, consigliata per considerazioni sulla sicurezza. Se è necessario usare l'autenticazione SQL nell'applicazione Liberty, vedere Connessioni di database relazionali con JDBC per altre informazioni.
Compilare il progetto
Dopo aver raccolto le proprietà necessarie, è possibile compilare l'applicazione. 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
Testare il progetto in locale
È ora possibile eseguire e testare il progetto in locale prima di eseguire la distribuzione in Azure. Per praticità, usare .liberty-maven-plugin
Per altre informazioni su liberty-maven-plugin
, vedere Compilazione di un'applicazione Web con Maven. Per l'applicazione, è possibile eseguire operazioni simili usando qualsiasi altro meccanismo, ad esempio l'IDE locale. È anche possibile prendere in considerazione l'uso dell'opzione liberty:devc
destinata allo sviluppo con i contenitori. Per altre informazioni su liberty:devc
, vedere la documentazione di Liberty.
Nota
Se è stata selezionata una distribuzione di database "serverless", verificare che il database SQL non sia stato attivato in modalità di sospensione. Un modo per eseguire questa operazione consiste nell'accedere all'editor di query del database come descritto in Avvio rapido: Usare l'editor di query portale di Azure (anteprima) per eseguire query database SQL di Azure.
Avviare l'applicazione usando
liberty:run
.cd $BASE_DIR/java-app # The value of environment variable AZURE_SQL_CONNECTIONSTRING is read by configuration variable `azure.sql.connectionstring` in server.xml export AZURE_SQL_CONNECTIONSTRING="jdbc:sqlserver://$SQL_SERVER_NAME.database.windows.net:1433;databaseName=$DB_NAME;authentication=ActiveDirectoryDefault" mvn liberty:run
Verificare che l'applicazione funzioni come previsto. Se ha esito positivo, verrà visualizzato un messaggio simile a
[INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds.
nell'output del comando. Passare ahttp://localhost:9080/
nel browser per verificare che l'applicazione sia accessibile e che tutte le funzioni funzionino.Premere CTRL+C per arrestarsi. Selezionare se si esegue il servizio Azure Kubernetes
Y
per terminare il processo batch.
Al termine, eliminare la regola del firewall che consente all'indirizzo IP locale di accedere al database SQL di Azure usando il comando seguente:
az sql server firewall-rule delete \
--resource-group $RESOURCE_GROUP_NAME \
--server $SQL_SERVER_NAME \
--name AllowLocalIP
Compilare l'immagine per la distribuzione del servizio Azure Kubernetes
È ora possibile eseguire il comando 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 Container, compila l'immagine e la archivia nell'istanza del Registro Container.
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 eseguendo i comandi seguenti:
cd $BASE_DIR/java-app/target # Apply deployment file kubectl apply -f openlibertyapplication-passwordless-db.yaml
Determinare se l'istanza
OpenLibertyApplication
viene creata eseguendo il comando seguente:kubectl get openlibertyapplication javaee-cafe-cluster
L'output dovrebbe essere simile all'esempio seguente:
NAME IMAGE EXPOSED RECONCILED RESOURCESREADY READY WARNING AGE javaee-cafe-cluster jiangma102924acr.azurecr.io/javaee-cafe:v1 True True True 57s
Determinare se la distribuzione creata dall'operatore è pronta eseguendo il comando seguente:
kubectl get deployment javaee-cafe-cluster --watch
L'output dovrebbe essere simile all'esempio seguente:
NAME READY UP-TO-DATE AVAILABLE AGE javaee-cafe-cluster 0/3 3 0 20s
Attendere fino a quando non viene visualizzato
3/3
sotto laREADY
colonna e3
sotto laAVAILABLE
colonna, quindi usare CTRL+C per arrestare ilkubectl
processo di controllo.
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 alcuni minuti.
Per monitorare lo stato di avanzamento, usare il comando kubectl get service con l'argomento --watch
, come illustrato nell'esempio seguente:
kubectl get service javaee-cafe-cluster --watch
L'output dovrebbe essere simile all'esempio seguente:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
javaee-cafe-cluster LoadBalancer 10.0.251.169 52.152.189.57 80:31732/TCP 68s
Dopo che l'indirizzo EXTERNAL-IP passa da in sospeso a un indirizzo IP pubblico effettivo, usare CTRL+C per arrestare il processo di kubectl
controllo.
Se è trascorso del tempo tra l'esecuzione dei passaggi in questa sezione e quella precedente, verificare che il database sia attivo, se necessario. Vedere la nota precedente relativa alla sospensione del database.
Aprire un Web browser all'indirizzo IP esterno del servizio (52.152.189.57
per l'esempio precedente) per visualizzare la home page dell'applicazione. Se la pagina non viene caricata correttamente, è perché l'app viene avviata. È possibile attendere un po' di tempo e aggiornare la pagina in un secondo momento. Verrà visualizzato 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 del servizio Azure Kubernetes.
Nota
Attualmente, l'applicazione non usa HTTPS. È consigliabile abilitare TLS con i propri certificati. Per altre informazioni, vedere Usare TLS con un controller di ingresso in servizio Azure Kubernetes (servizio Azure Kubernetes).
Pulire le risorse
Per evitare addebiti per Azure, è necessario eliminare le risorse non necessarie. Quando il cluster non è più necessario, usare il comando 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 usati in questa guida:
- Servizio Azure Kubernetes
- Esercitazione: Connettere un'app del servizio Azure Kubernetes a database SQL di Azure (anteprima)
- Integrare database SQL di Azure con Service Connector
- Connettersi con l'autenticazione di Microsoft Entra
- Aprire Liberty
- Aprire operatore Liberty
- Aprire Configurazione di Liberty Server
- Plug-in Liberty Maven
- Open Liberty Container Images
- Immagini contenitore WebSphere Liberty
Per incorporare cache di Azure per Redis in un'app Java, vedere Usare cache di Azure per Redis 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?