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.
- Installeer de Azure CLI 2.61.0 of hoger om Azure CLI-opdrachten uit te voeren.
- Meld u aan met Azure CLI met behulp van de opdracht az login . Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Zie Aanmelden bij Azure met Azure CLI voor andere aanmeldingsopties.
- Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Zie Extensies gebruiken en beheren met de Azure CLI voor meer informatie over extensies.
- Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
- Installeer een Java Standard Edition(SE)-implementatie, versie 17 (bijvoorbeeld Eclipse Open J9).
- Installeer Maven versie 3.5.0 of hoger.
- Zorg ervoor dat Git is geïnstalleerd.
- Zorg ervoor dat u de
Owner
rol of deContributor
User Access Administrator
rollen in het abonnement hebt toegewezen. U kunt de toewijzing controleren door de stappen in Azure-roltoewijzingen weergeven te volgen met behulp van Azure Portal.
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:
Kopieer vanuit de gemarkeerde secties in de YAML van de Kubernetes-voorbeeldimplementatie de
serviceAccountName
ensecretRef.name
waarden, zoals wordt weergegeven in het volgende voorbeeld:serviceAccountName: <service-account-name> containers: - name: raw-linux envFrom: - secretRef: name: <secret-name>
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-plugin
webtoepassing. 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.
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
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 omhttp://localhost:9080/
te controleren of de toepassing toegankelijk is en alle functies werken.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:
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
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
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
Wacht totdat u onder de
READY
kolom en3
onder deAVAILABLE
kolom ziet3/3
en gebruik vervolgens Ctrl+C om hetkubectl
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.
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:
- Azure Kubernetes Service
- Zelfstudie: Een AKS-app verbinden met Azure SQL Database (preview)
- Azure SQL Database integreren met Service Connector
- Verbinding maken met Behulp van Microsoft Entra-verificatie
- Open Liberty
- Open Liberty Operator
- Open Liberty Server-configuratie
- Liberty Maven Plugin
- Open Liberty Container Images
- WebSphere Liberty-containerinstallatiekopieën
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?