Delen via


Een Java-toepassing handmatig implementeren met Open Liberty of WebSphere Liberty in een AKS-cluster (Azure Kubernetes Service)

Dit artikel bevat stapsgewijze instructies voor het uitvoeren van Open/WebSphere Liberty in Azure.

In dit artikel wordt uitgelegd hoe u de volgende taken uitvoert:

  • Voer uw Java-, Java EE-, Jakarta EE- of MicroProfile-toepassing uit op de Open Liberty- of WebSphere Liberty-runtime.
  • Bouw de Docker-toepassingsinstallatiekopieën met az acr build behulp van Liberty-containerinstallatiekopieën.
  • Implementeer de containertoepassing in een AKS-cluster (Azure Kubernetes Service) met behulp van de Liberty Operator.

De Liberty Operator vereenvoudigt de implementatie en het beheer van toepassingen die worden uitgevoerd op Kubernetes-clusters. Met de Open Liberty Operator of WebSphere Liberty Operator kunt u ook geavanceerdere bewerkingen uitvoeren, zoals het verzamelen van traceringen en dumps.

Zie Een Java-toepassing implementeren met Open Liberty/WebSphere Liberty op een AKS-cluster (Azure Kubernetes Service) voor een meer geautomatiseerde oplossing die uw reis naar AKS versnelt.

Zie de projectpagina Open Liberty voor meer informatie over Open Liberty. Zie de WebSphere Liberty-productpagina voor meer informatie over IBM WebSphere Liberty.

Dit artikel is bedoeld om u snel te helpen bij de implementatie. Voordat u naar productie gaat, moet u Tuning Liberty verkennen.

Als u feedback wilt geven of nauw wilt samenwerken aan uw migratiescenario's met het technische team dat WebSphere op Azure-oplossingen ontwikkelt, vult u deze korte enquête over WebSphere-migratie in en neemt u uw contactgegevens op. Het team van programmamanagers, architecten en technici neemt onmiddellijk contact met u op om nauwe samenwerking te initiëren.

Vereisten

  • Een Azure-abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
  • Bereid een lokale computer voor waarop Windows, macOS of Linux is geïnstalleerd.

Aanmelden bij Azure

Als u dit nog niet hebt gedaan, meldt u zich aan bij uw Azure-abonnement met behulp van de opdracht az login en volgt u de aanwijzingen op het scherm.

az login

Notitie

U kunt de meeste Azure CLI-opdrachten in PowerShell op dezelfde wijze uitvoeren als in Bash. Het verschil bestaat alleen wanneer u variabelen gebruikt. In de volgende secties wordt het verschil in verschillende tabbladen behandeld wanneer dat nodig is.

Als er meerdere Azure-tenants zijn gekoppeld aan uw Azure-referenties, moet u opgeven bij welke tenant u zich wilt aanmelden. U kunt dit doen met de --tenant optie. Bijvoorbeeld: az login --tenant contoso.onmicrosoft.com.

Een brongroep maken

Een Azure-resourcegroep is een logische groep waarin Azure-resources worden geïmplementeerd en beheerd.

Maak een resourcegroep met de aangeroepen java-liberty-project opdracht az group create op de eastus2 locatie. Deze resourcegroep wordt later gebruikt voor het maken van het Azure Container Registry-exemplaar en het AKS-cluster.

export RESOURCE_GROUP_NAME=java-liberty-project
az group create --name $RESOURCE_GROUP_NAME --location eastus2

Een Container Registry-exemplaar maken

Gebruik de opdracht az acr create om het Container Registry-exemplaar te maken. In het volgende voorbeeld wordt een Container Registry-exemplaar gemaakt met de naam youruniqueacrname. Zorg ervoor dat deze youruniqueacrname uniek is binnen Azure.

Notitie

In dit artikel wordt gebruikgemaakt van het aanbevolen verificatiemechanisme zonder wachtwoord voor Container Registry. Het is nog steeds mogelijk om de gebruikersnaam en het wachtwoord te gebruiken na docker login gebruik az acr credential show om de gebruikersnaam en het wachtwoord te verkrijgen. Het gebruik van gebruikersnaam en wachtwoord is minder veilig dan verificatie zonder wachtwoord.

export REGISTRY_NAME=youruniqueacrname
az acr create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $REGISTRY_NAME \
    --sku Basic

Na korte tijd ziet u een JSON-uitvoer die de volgende regels bevat:

  "provisioningState": "Succeeded",
  "publicNetworkAccess": "Enabled",
  "resourceGroup": "java-liberty-project",

Haal vervolgens de aanmeldingsserver op voor het Container Registry-exemplaar. U hebt deze waarde nodig wanneer u de toepassingsinstallatiekopieën later in het AKS-cluster implementeert.

export LOGIN_SERVER=$(az acr show \
    --name $REGISTRY_NAME \
    --query 'loginServer' \
    --output tsv)

Een AKS-cluster maken

Gebruik de opdracht az aks create om een AKS-cluster te maken. In het volgende voorbeeld wordt een cluster gemaakt met de naam myAKSCluster één knooppunt. Het voltooien van deze opdracht duurt enkele minuten.

export CLUSTER_NAME=myAKSCluster
az aks create \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --node-count 1 \
    --generate-ssh-keys \
    --enable-managed-identity

Na een paar minuten wordt de opdracht voltooid en retourneert JSON-geformatteerde informatie over het cluster, inclusief de volgende uitvoer:

  "nodeResourceGroup": "MC_java-liberty-project_myAKSCluster_eastus2",
  "privateFqdn": null,
  "provisioningState": "Succeeded",
  "resourceGroup": "java-liberty-project",

De Container Registry-instantie koppelen aan het AKS-cluster

Voer de opdracht az aks update uit om het Container Registry-exemplaar toe te voegen aan het AKS-cluster, zodat het AKS-cluster wordt geverifieerd om installatiekopieën op te halen uit de Container Registry-instantie, zoals wordt weergegeven in het volgende voorbeeld:

az aks update \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --attach-acr $REGISTRY_NAME

Verbinding maken met het AKS-cluster

Als u een Kubernetes-cluster wilt beheren, gebruikt u kubectl, de Kubernetes-opdrachtregelclient. Als u lokaal wilt installeren kubectl , gebruikt u de opdracht az aks install-cli , zoals wordt weergegeven in het volgende voorbeeld:

az aks install-cli

Gebruik de opdracht az aks get-credentials om kubectl zodanig te configureren dat er verbinding wordt gemaakt met het Kubernetes-cluster. Bij deze opdracht worden referenties gedownload en wordt Kubernetes CLI geconfigureerd voor het gebruik van deze referenties.

az aks get-credentials \
    --resource-group $RESOURCE_GROUP_NAME \
    --name $CLUSTER_NAME \
    --overwrite-existing \
    --admin

Notitie

De bovenstaande opdracht maakt gebruik van de standaardlocatie voor het Kubernetes-configuratiebestand, namelijk ~/.kube/config. U kunt een andere locatie opgeven voor uw Kubernetes-configuratiebestand met behulp van --file.

Als u de verbinding met uw cluster wilt controleren, gebruikt u de opdracht kubectl get om een lijst met clusterknooppunten te retourneren.

kubectl get nodes

In de volgende voorbeelduitvoer ziet u het enkele knooppunt dat is gemaakt in de vorige stappen. Zorg ervoor dat de status van het knooppunt Ready is:

NAME                                STATUS   ROLES   AGE     VERSION
aks-nodepool1-xxxxxxxx-yyyyyyyyyy   Ready    <none>  76s     v1.29.9

Een Azure SQL-database maken

In deze sectie maakt u een individuele Azure SQL Database-database voor gebruik met uw app.

Stel eerst omgevingsvariabelen in die betrekking hebben op databases. Vervang door <your-unique-sql-server-name> een unieke naam voor uw Azure SQL Database-server.

export SQL_SERVER_NAME=<your-unique-sql-server-name>
export DB_NAME=demodb

Voer de volgende opdracht uit in uw terminal om één database te maken in Azure SQL Database en stel de huidige aangemelde gebruiker in als Microsoft Entra-beheerder. Zie quickstart: Een individuele database maken - Azure SQL Database voor meer informatie.

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

Voeg vervolgens het lokale IP-adres toe aan de firewallregels van de Azure SQL Database-server zodat uw lokale computer verbinding kan maken met de database voor later lokaal testen.

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

Notitie

U maakt een Azure SQL-server met SQL-verificatie uitgeschakeld voor beveiligingsoverwegingen. Alleen Microsoft Entra-id wordt gebruikt voor verificatie bij de server. Als u SQL-verificatie wilt inschakelen, raadpleegt u az sql server create voor meer informatie.

Een serviceverbinding maken in AKS met serviceconnector

Voer de volgende opdrachten uit om een verbinding te maken tussen het AKS-cluster en de SQL-database met behulp van Microsoft Entra Workload-ID met Service Connector. Zie Een serviceverbinding maken in AKS met Service Connector (preview) voor meer informatie.

# 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

Notitie

Het wordt aanbevolen om Microsoft Entra Workload-ID te gebruiken voor beveiligde toegang tot uw Azure SQL Database zonder SQL-verificatie. Als u SQL-verificatie wilt gebruiken, negeert u de bovenstaande stappen in deze sectie en gebruikt u de gebruikersnaam en het wachtwoord om verbinding te maken met de Azure SQL Database.

servcie-account en geheim ophalen dat is gemaakt door Service Connector

Als u zich wilt verifiëren bij de Azure SQL Database, moet u het serviceaccount en geheim ophalen dat is gemaakt door serviceconnector. Volg de sectie Uw container bijwerken. Maak de optie Rechtstreeks een implementatie met behulp van het opgegeven YAML-voorbeeldcodefragment en voer de volgende stappen uit:

  1. Kopieer vanuit de gemarkeerde secties in de YAML van de Kubernetes-voorbeeldimplementatie de serviceAccountName en secretRef.name waarden, zoals wordt weergegeven in het volgende voorbeeld:

    serviceAccountName: <service-account-name>
    containers:
    - name: raw-linux
       envFrom:
          - secretRef:
             name: <secret-name>
    
  2. Vervang <service-account-name> en <secret-name> door de waarden die u in de vorige stap hebt gekopieerd om de volgende omgevingsvariabelen te definiëren:

    export SERVICE_ACCOUNT_NAME=<service-account-name>
    export SECRET_NAME=<secret-name>
    

    Deze waarden worden in de volgende sectie gebruikt om de Liberty-toepassing te implementeren in het AKS-cluster.

Notitie

Het geheim dat door serviceconnector is gemaakt, bevat het AZURE_SQL_CONNECTIONSTRING, een wachtwoordloze verbindingsreeks voor de Azure SQL Database. Zie voorbeeldwaarde van door de gebruiker toegewezen beheerde identiteitverificatie voor meer informatie.

Open Liberty Operator installeren

In deze sectie installeert u de Open Liberty Operator op het AKS-cluster om de Liberty-toepassing te hosten.

Installeer de Open Liberty Operator door de volgende opdrachten uit te voeren:

# 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

De installatiekopieën van de toepassing configureren en bouwen

Als u uw Liberty-toepassing wilt implementeren en uitvoeren op het AKS-cluster, kunt u uw toepassing in een container opslaan als docker-installatiekopieën met behulp van Open Liberty-containerinstallatiekopieën of WebSphere Liberty-containerinstallatiekopieën.

Volg de stappen in deze sectie om de voorbeeldtoepassing te implementeren in de Liberty Runtime. In deze stappen wordt Maven gebruikt.

De toepassing uitchecken

Kloon de voorbeeldcode voor deze handleiding. Het voorbeeld bevindt zich op GitHub. Er zijn enkele voorbeelden in de opslagplaats. In dit artikel wordt het java-app voorbeeld gebruikt. De belangrijke bestanden worden hierna weergegeven.

git clone https://github.com/Azure-Samples/open-liberty-on-aks.git
cd open-liberty-on-aks
export BASE_DIR=$PWD
git checkout 20241029

Als u een bericht ziet over 'losgekoppelde HEAD'-status, is dit bericht veilig te negeren. Het betekent alleen dat je een tag hebt uitgecheckt.

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

De directory's java, resources en web-app bevatten de broncode van de voorbeeldtoepassing. De code declareert en gebruikt een gegevensbron met de naam jdbc/JavaEECafeDB.

In de map aks wordt het bestand openlibertyapplication-passwordless-db.yaml gebruikt om de toepassingsinstallatiekopie te implementeren. In de docker-map zijn er twee bestanden om de toepassingsinstallatiekopieën te maken met Open Liberty of WebSphere Liberty.

In directory liberty/config wordt de server.xml gebruikt voor het configureren van de databaseverbinding voor het Open Liberty- en WebSphere Liberty-cluster. Hiermee wordt een variabele azure.sql.connectionstring gedefinieerd die wordt gebruikt om verbinding te maken met de Azure SQL Database.

Het bestand pom.xml is het POM-bestand (Project Object Model) van Maven dat de configuratiegegevens voor het project bevat. Het pom-azure-identity.xml-bestand declareert azure-identity afhankelijkheid, die wordt gebruikt voor verificatie bij Azure-services met behulp van Microsoft Entra-id.

Notitie

In dit voorbeeld wordt een bibliotheek gebruikt azure-identity voor verificatie bij Azure SQL Database met behulp van Microsoft Entra-verificatie. Dit wordt aanbevolen voor beveiligingsoverwegingen. Als u SQL-verificatie in uw Liberty-toepassing wilt gebruiken, raadpleegt u Relationele databaseverbindingen met JDBC voor meer informatie.

Het project bouwen

Nu u de benodigde eigenschappen hebt verzameld, kunt u de toepassing bouwen. Het POM-bestand voor het project leest veel variabelen uit de omgeving. Als onderdeel van de Maven-build worden deze variabelen gebruikt om waarden in te vullen in de YAML-bestanden in src/main/aks. U kunt iets soortgelijks doen voor uw toepassing buiten Maven als u wilt.

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

Uw project lokaal testen

U kunt het project nu lokaal uitvoeren en testen voordat u implementeert in Azure. Gebruik voor het gemak de liberty-maven-plugin. Zie Een webtoepassing bouwen met Maven voor meer informatie over de liberty-maven-pluginwebtoepassing. Voor uw toepassing kunt u iets soortgelijks doen met behulp van een ander mechanisme, zoals uw lokale IDE. U kunt ook overwegen de liberty:devc optie te gebruiken die is bedoeld voor ontwikkeling met containers. Meer informatie vindt liberty:devc u in de Liberty docs.

Notitie

Als u een serverloze database-implementatie hebt geselecteerd, controleert u of uw SQL-database niet in de onderbrekingsmodus is gegaan. Een manier om dit te doen, is om u aan te melden bij de databasequery-editor, zoals beschreven in quickstart: De Azure Portal-queryeditor (preview) gebruiken om een query uit te voeren op Azure SQL Database.

  1. Start de toepassing met behulp van 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
    
  2. Controleer of de toepassing werkt zoals verwacht. Als dit lukt, ziet u een bericht dat lijkt op [INFO] [AUDIT] CWWKZ0003I: The application javaee-cafe updated in 1.930 seconds. in de uitvoer van de opdracht. Ga in uw browser om http://localhost:9080/ te controleren of de toepassing toegankelijk is en alle functies werken.

  3. Druk op Ctrl+C om te stoppen. Selecteer Y of u een batchtaak wilt beëindigen.

Wanneer u klaar bent, verwijdert u de firewallregel waarmee uw lokale IP-adres toegang heeft tot de Azure SQL Database met behulp van de volgende opdracht:

az sql server firewall-rule delete \
    --resource-group $RESOURCE_GROUP_NAME \
    --server $SQL_SERVER_NAME \
    --name AllowLocalIP

De installatiekopieën voor AKS-implementatie bouwen

U kunt nu de opdracht az acr build uitvoeren om de installatiekopieën te bouwen, zoals wordt weergegeven in het volgende voorbeeld:

cd $BASE_DIR/java-app/target

az acr build \
    --registry ${REGISTRY_NAME} \
    --image javaee-cafe:v1 \
    .

De az acr build opdracht uploadt de artefacten die zijn opgegeven in het Dockerfile naar het Container Registry-exemplaar, bouwt de installatiekopieën en slaat deze op in de Container Registry-instantie.

De toepassing implementeren in het AKS-cluster

Gebruik de volgende stappen om de Liberty-toepassing te implementeren op het AKS-cluster:

  1. Pas het implementatiebestand toe door de volgende opdrachten uit te voeren:

    cd $BASE_DIR/java-app/target
    
    # Apply deployment file
    kubectl apply -f openlibertyapplication-passwordless-db.yaml
    
  2. Bepaal of het OpenLibertyApplication exemplaar wordt gemaakt door de volgende opdracht uit te voeren:

    kubectl get openlibertyapplication javaee-cafe-cluster
    

    Als het goed is, ziet u uitvoer die lijkt op het volgende voorbeeld:

    NAME                  IMAGE                                        EXPOSED   RECONCILED   RESOURCESREADY   READY   WARNING   AGE
    javaee-cafe-cluster   jiangma102924acr.azurecr.io/javaee-cafe:v1             True         True             True              57s
    
  3. Bepaal of de implementatie die door de operator is gemaakt, gereed is door de volgende opdracht uit te voeren:

    kubectl get deployment javaee-cafe-cluster --watch
    

    Als het goed is, ziet u uitvoer die lijkt op het volgende voorbeeld:

    NAME                        READY   UP-TO-DATE   AVAILABLE   AGE
    javaee-cafe-cluster         0/3     3            0           20s
    
  4. Wacht totdat u onder de READY kolom en 3 onder de AVAILABLE kolom ziet 3/3 en gebruik vervolgens Ctrl+C om het kubectl controleproces te stoppen.

De toepassing testen

Wanneer de toepassing wordt uitgevoerd, maakt een Kubernetes Load Balancer-service de front-end van de toepassing beschikbaar op internet. Dit proces kan enige tijd duren.

Als u de voortgang wilt controleren, gebruikt u de opdracht kubectl get service met het --watch argument, zoals wordt weergegeven in het volgende voorbeeld:

kubectl get service javaee-cafe-cluster --watch

Als het goed is, ziet u uitvoer die lijkt op het volgende voorbeeld:

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

Nadat het EXTERNAL-IP-adres is gewijzigd van in behandeling tot een daadwerkelijk openbaar IP-adres, gebruikt u Ctrl+C om het kubectl controleproces te stoppen.

Als er enige tijd is verstreken tussen het uitvoeren van de stappen in deze sectie en de voorgaande, controleert u of de database actief is, indien nodig. Zie de vorige opmerking met betrekking tot het onderbreken van de database.

Open een webbrowser naar het externe IP-adres van uw service (52.152.189.57 voor het bovenstaande voorbeeld) om de startpagina van de toepassing weer te geven. Als de pagina niet correct is geladen, komt dat doordat de app wordt gestart. U kunt even wachten en de pagina later vernieuwen. U ziet nu de podnaam van uw toepassingsreplica's linksboven op de pagina. Wacht enkele minuten en vernieuw de pagina om een andere podnaam weer te geven vanwege taakverdeling die door het AKS-cluster wordt geleverd.

De Java liberty-toepassing is geïmplementeerd op AKS.

Notitie

Op dit moment gebruikt de toepassing geen HTTPS. U wordt aangeraden TLS in te schakelen met uw eigen certificaten. Zie TLS gebruiken met een ingangscontroller in Azure Kubernetes Service (AKS) voor meer informatie.

Resources opschonen

Om Azure-kosten te voorkomen, moet u overbodige resources opschonen. Wanneer het cluster niet meer nodig is, gebruikt u de opdracht az group delete om de resourcegroep, containerservice, containerregister, database en alle gerelateerde resources te verwijderen.

az group delete --name $RESOURCE_GROUP_NAME --yes --no-wait

Volgende stappen

In deze handleiding vindt u meer informatie over verwijzingen die worden gebruikt:

Zie Azure Cache voor Redis gebruiken in Java met redisson Redis-client om Azure Cache voor Redis op te nemen in een Java-app.

Als u opties wilt verkennen om WebSphere-producten uit te voeren in Azure, raadpleegt u Wat zijn oplossingen voor het uitvoeren van de WebSphere-producten in Azure?