Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Dit artikel bevat stapsgewijze instructies voor het uitvoeren van Open/WebSphere Liberty op een Azure Red Hat OpenShift-cluster. U wordt begeleid bij het voorbereiden van een Liberty-toepassing, het bouwen van de Docker-installatiekopie van de toepassing en het uitvoeren van de containertoepassing op een Azure Red Hat OpenShift-cluster.
In het bijzonder leert u hoe u de volgende taken uitvoert:
- De Liberty-toepassing voorbereiden
- De installatiekopieën van de toepassing bouwen
- De containertoepassing uitvoeren op een Azure Red Hat OpenShift-cluster met behulp van de GUI en de CLI
Zie IBM WebSphere Liberty en Open Liberty implementeren in Azure Red Hat OpenShift voor een meer geautomatiseerde oplossing die uw reis naar Azure Red Hat OpenShift versnelt.
Zie de projectpagina Open Liberty voor meer informatie over Open Liberty. Zie de productpagina van WebSphere Liberty voor meer informatie over 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.
Belangrijk
Hoewel Azure Red Hat OpenShift gezamenlijk wordt ontworpen, beheerd en ondersteund door Red Hat en Microsoft om een geïntegreerde ondersteuningservaring te bieden, is de software die u uitvoert boven op Azure Red Hat OpenShift, waaronder die in dit artikel wordt beschreven, onderworpen aan zijn eigen ondersteunings- en licentievoorwaarden. Zie ondersteuningslevenscyclus voor Azure Red Hat OpenShift 4 voor meer informatie over ondersteuning voor Azure Red Hat OpenShift. Zie de hoofdpagina's voor die software zoals vermeld in het artikel voor meer informatie over ondersteuning voor de software die in dit artikel wordt beschreven.
Notitie
Azure Red Hat OpenShift vereist minimaal 40 kernen om een OpenShift-cluster te maken en uit te voeren. Het standaardquotum voor Azure-resources voor een nieuw Azure-abonnement voldoet niet aan deze vereiste. Als u een verhoging van uw resourcelimiet wilt aanvragen, raadpleegt u Standaardquotum: Limieten verhogen per VM-reeks. Houd er rekening mee dat het gratis proefabonnement niet in aanmerking komt voor een quotumverhoging, upgrade naar een abonnement met betalen per gebruik voordat u een quotumverhoging aanvraagt.
Vereisten
Een lokale computer waarop unix-achtig besturingssysteem is geïnstalleerd, bijvoorbeeld Ubuntu, macOS of Windows-subsysteem voor Linux.
Een Implementatie van Java Standard Edition (SE), versie 17, bijvoorbeeld Eclipse Open J9.
Maven, versie 3.9.8 of hoger.
Docker voor uw besturingssysteem.
Azure CLI, versie 2.61.0 of hoger.
Een Azure Red Hat OpenShift 4-cluster. Als u het cluster wilt maken, volgt u de instructies in Een Azure Red Hat OpenShift 4-cluster maken, waarbij u rekening houdt met de volgende verschillen:
Hoewel instructies met betrekking tot pull-geheimen optioneel zijn, is het pull-geheim vereist voor dit artikel, met name voor het maken van een cluster. Met het pull-geheim kan uw Azure Red Hat OpenShift-cluster de Open Liberty Operator vinden.
In dit artikel wordt Azure MySQL gebruikt als demodatabase. Azure MySQL-SKU's zijn niet beschikbaar in alle regio's, dus u moet een Azure-regio kiezen die werkt, zoals
westus. U kunt controleren of een bepaalde Azure-regio MySQL-SKU's heeft met behulp van de volgende opdracht:az mysql flexible-server list-skus --location <location>De volgende omgevingsvariabelen die zijn gedefinieerd in Een Azure Red Hat OpenShift 4-cluster maken, worden verderop in dit artikel gebruikt:
-
RESOURCEGROUP- de naam van de resourcegroep waarin het cluster is geïmplementeerd. -
CLUSTER- de naam van het cluster.
-
Als u van plan bent geheugenintensieve toepassingen op het cluster uit te voeren, geeft u de juiste grootte van de virtuele machine op voor de werkknooppunten met behulp van de
--worker-vm-sizeparameter. Raadpleeg voor meer informatie de volgende artikelen:
Maak verbinding met het cluster door de stappen in Verbinding maken met een Azure Red Hat OpenShift 4-cluster te volgen met behulp van de volgende instructies:
- Volg de stappen in OpenShift CLI installeren, omdat u de
ocopdracht verderop in dit artikel gebruikt. - Sla de URL van de clusterconsole op. Het moet er als
https://console-openshift-console.apps.<random>.<region>.aroapp.io/volgt uitzien. - Noteer de
kubeadminreferenties. - Volg de stappen in Verbinding maken met behulp van de OpenShift CLI met de
kubeadminreferenties.
- Volg de stappen in OpenShift CLI installeren, omdat u de
Open Liberty Operator installeren
Nadat u het cluster hebt gemaakt en er verbinding mee hebt gemaakt, gebruikt u de volgende stappen om de Open Liberty Operator te installeren. De hoofdstartpagina voor de Open Liberty Operator bevindt zich op GitHub.
Meld u aan bij de OpenShift-webconsole vanuit uw browser met behulp van de
kubeadminreferenties.Navigeer naar Operators>OperatorHub en zoek naar Open Liberty.
Selecteer Open Liberty in de zoekresultaten.
Selecteer Installeren.
Voer op de pagina Operator installeren de volgende stappen uit:
- Selecteer voor Update-kanaal het meest recente kanaal v1.4.
- Selecteer voor installatiemodusAlle naamruimten op het cluster (standaard).
- Selecteer Automatisch voor goedkeuring van de update.
Selecteer Installeren en wacht enkele minuten totdat de installatie is voltooid.
Merk op dat de Open Liberty Operator is geïnstalleerd en klaar is voor gebruik. Als het niet gereed is, kunt u het probleem vaststellen en oplossen voordat u doorgaat.
Notitie
In deze handleiding wordt de Open Liberty Operator geïnstalleerd voor het beheren van Liberty-toepassingen in het Azure Red Hat OpenShift-cluster. Als u de WebSphere Liberty Operator wilt gebruiken, volgt u de stappen in Het installeren van de WebSphere Liberty-operator om de WebSphere Liberty Operator op het cluster te installeren.
Een OpenShift-naamruimte maken voor de Java-app
Gebruik de volgende stappen om een OpenShift-naamruimte te maken voor gebruik met uw app:
Zorg ervoor dat u bent aangemeld bij de OpenShift-webconsole vanuit uw browser met behulp van de
kubeadminreferenties.Navigeer naar >>
Voor Naam vult u open-liberty-demo in en selecteert u Maken, zoals wordt weergegeven in de volgende schermopname.
Een Azure Database for MySQL Flexible Server maken
Azure Database for MySQL Flexible Server-implementatiemodel is een implementatiemodus die is ontworpen om gedetailleerdere controle en flexibiliteit te bieden voor databasebeheerfuncties en configuratie-instellingen dan de implementatiemodus voor één server in Azure Database for MySQL. In deze sectie wordt beschreven hoe u een Azure Database for MySQL Flexible Server-exemplaar maakt met behulp van de Azure CLI. Zie quickstart: Een exemplaar van Azure Database for MySQL - Flexible Server maken met behulp van de Azure CLI voor meer informatie.
Gebruik de volgende opdracht in uw terminal om een Azure Database voor MySQL Flexible Server-instantie te maken. Vervang <location> door de Azure-regio met beschikbare SKU's waarin u de server wilt maken, westusbijvoorbeeld. Vervang <server-admin-password> door een wachtwoord dat voldoet aan de vereisten voor wachtwoordcomplexiteit voor Azure Database for MySQL Flexible Server.
export LOCATION=<location>
export ADMIN_PASSWORD='<server-admin-password>'
export ADMIN_USER=adminuser
export DATABASE_NAME=${RESOURCEGROUP}db
az mysql flexible-server create \
--name ${CLUSTER} \
--resource-group ${RESOURCEGROUP} \
--location $LOCATION \
--admin-user $ADMIN_USER \
--admin-password $ADMIN_PASSWORD \
--database-name $DATABASE_NAME \
--public-access 0.0.0.0 \
--yes
Notitie
In dit artikel wordt u begeleid bij het maken van een Azure Database for MySQL Flexible Server met MySQL-verificatie. Een veiligere praktijk is het gebruik van Microsoft Entra-verificatie voor het verifiëren van de databaseserververbinding. Azure Red Hat OpenShift biedt momenteel geen ondersteuning voor Microsoft Entra Workload-ID, dus MySQL-verificatie is de enige beschikbare optie.
Als u een foutbericht No available SKUs in this locationontvangt, geeft u een andere locatie op met behulp van de parameter --location en probeert u het opnieuw. Gebruik de volgende opdracht om beschikbare SKU's op een specifieke locatie weer te geven:
az mysql flexible-server list-skus --location <location>
Zoek een locatie met beschikbare SKU's en herhaal de voorgaande az mysql flexible-server create opdracht.
Het duurt enkele minuten om de server, database, beheerder en firewallregel te maken die verbindingen van alle Azure-resources accepteert. Als de opdracht is geslaagd, ziet de uitvoer er ongeveer als volgt uit:
{
"connectionString": "mysql <database-name> --host <server-name>.mysql.database.azure.com --user <server-admin-username> --password=<server-admin-password>",
"databaseName": "<database-name>",
"firewallName": "<firewall-name>",
"host": "<server-name>.mysql.database.azure.com",
"id": "/subscriptions/REDACTED/resourceGroups/<resource-group-of-the-OpenShift-cluster>/providers/Microsoft.DBforMySQL/flexibleServers/<server-name>",
"location": "<location>",
"password": "<server-admin-password>",
"resourceGroup": "<resource-group-of-the-OpenShift-cluster>",
"skuname": "Standard_B1ms",
"username": "<server-admin-username>",
"version": "8.0.21"
}
De Liberty-toepassing voorbereiden
We gebruiken een Jakarta EE 10-toepassing als ons voorbeeld in deze handleiding. Open Liberty is compatibel met het volledige Jakarta EE 10-profiel. Zie de Jakarta EE Platform-API voor meer informatie.
De toepassing uitvoeren op Open Liberty
Als u de toepassing wilt uitvoeren op Open Liberty, moet u een Open Liberty-serverconfiguratiebestand maken, zodat de Liberty Maven-invoegtoepassing de toepassing kan verpakken voor implementatie. De Liberty Maven-invoegtoepassing is niet vereist om de toepassing te implementeren in OpenShift. We gebruiken het echter in dit voorbeeld met de ontwikkelaarsmodus (dev) van Open Liberty. Met de ontwikkelaarsmodus kunt u de toepassing eenvoudig lokaal uitvoeren. Zie liberty-maven-plugin voor meer informatie over de webtoepassing.
Volg de stappen in deze sectie om de voorbeeldtoepassing voor te bereiden voor later gebruik in dit artikel.
De toepassing uitchecken
Gebruik de volgende opdrachten om de voorbeeldcode voor deze handleiding te klonen. Het voorbeeld bevindt zich op GitHub.
git clone https://github.com/Azure-Samples/open-liberty-on-aro.git
cd open-liberty-on-aro
export BASE_DIR=$PWD
git checkout 20250429
cd ${BASE_DIR}/3-integration/connect-db/mysql
Als u een bericht ziet over detached HEAD status, is dit bericht veilig te negeren. Het betekent alleen dat je een tag hebt uitgecheckt.
Er zijn enkele voorbeelden in de opslagplaats. We gebruiken open-liberty-on-aro/3-integration/connect-db/mysql. Dit is de bestandsstructuur van de toepassing:
open-liberty-on-aro/3-integration/connect-db/mysql
├─ src/main/
│ ├─ aro/
│ │ ├─ db-secret.yaml
│ │ ├─ openlibertyapplication.yaml
│ ├─ liberty/config/
│ │ ├─ server.xml
│ ├─ java/
│ ├─ resources/
│ ├─ webapp/
├─ Dockerfile
├─ Dockerfile-wlp
├─ pom.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 aro-map hebben we twee implementatiebestanden geplaatst. db-secret.xml wordt gebruikt voor het maken van geheimen met databaseverbindingsreferenties. Het bestand openlibertyapplication.yaml wordt gebruikt om de toepassingsinstallatiekopie te implementeren.
In de hoofdmap hebben we twee Dockerfiles geplaatst. Dockerfile en Dockerfile-wlp worden gebruikt voor lokale foutopsporing en voor het bouwen van de installatiekopie voor een Azure Red Hat OpenShift-implementatie, respectievelijk met Open Liberty en WebSphere Liberty.
In de map liberty/config wordt de server.xml gebruikt om de databaseverbinding voor het Open Liberty- en WebSphere Liberty-cluster te configureren.
Het project bouwen
Voer met behulp van de eerder gedefinieerde omgevingsvariabelen de volgende opdrachten uit in uw terminal om het project te bouwen. Het POM-bestand voor het project leest veel eigenschappen uit de omgeving.
cd ${BASE_DIR}/3-integration/connect-db/mysql
# The following variables are used for deployment file generation
export DB_SERVER_NAME=$CLUSTER.mysql.database.azure.com
export DB_PORT_NUMBER=3306
export DB_NAME=$DATABASE_NAME
export DB_USER=$ADMIN_USER
export DB_PASSWORD=$ADMIN_PASSWORD
export NAMESPACE=open-liberty-demo
mvn clean install
(Optioneel) Uw toepassing lokaal testen
U kunt de toepassing desgewenst lokaal uitvoeren om te controleren of deze werkt zoals verwacht. Eerst moet u een firewallregel toevoegen om uw lokale computer verbinding te laten maken met het Azure Database for MySQL Flexible Server-exemplaar. Gebruik de volgende stappen om de firewallregel toe te voegen:
- Meld u aan bij Azure Portal en navigeer naar het Exemplaar van Azure Database for MySQL Flexible Server dat u eerder hebt gemaakt.
- Selecteer In het linkerdeelvenster Instellingennetwerken>.
- Selecteer Huidig IP-adres van client toevoegen.
- Selecteer Opslaan en wacht totdat de firewallregel is toegevoegd.
Gebruik de volgende stappen om de liberty:devc opdracht uit te voeren om het project en de containerinstallatiekopieën lokaal uit te voeren en te testen voordat u te maken krijgt met een azure-complexiteit. Zie de documentatieliberty:devcLiberty Plugin voor meer informatie.
Start indien nodig uw lokale Docker-omgeving. De instructies voor het starten van de omgeving variëren afhankelijk van het hostbesturingssysteem.
Gebruik de volgende opdrachten om de toepassing in
liberty:devcde modus te starten:cd ${BASE_DIR}/3-integration/connect-db/mysql # If you are running with Open Liberty mvn liberty:devc -DcontainerRunOpts="-e DB_SERVER_NAME=${DB_SERVER_NAME} -e DB_PORT_NUMBER=${DB_PORT_NUMBER} -e DB_NAME=${DB_NAME} -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD}" -Dcontainerfile=Dockerfile # If you are running with WebSphere Liberty mvn liberty:devc -DcontainerRunOpts="-e DB_SERVER_NAME=${DB_SERVER_NAME} -e DB_PORT_NUMBER=${DB_PORT_NUMBER} -e DB_NAME=${DB_NAME} -e DB_USER=${DB_USER} -e DB_PASSWORD=${DB_PASSWORD}" -Dcontainerfile=Dockerfile-wlpControleer 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 naarhttps://localhost:9443/uw browser en controleer of de toepassing toegankelijk is en of alle functies werken.Druk op
liberty:devcom de modus te stoppen.
De installatiekopieën van de toepassing voorbereiden
Als u uw Liberty-toepassing wilt implementeren en uitvoeren op een Azure Red Hat OpenShift-cluster, kunt u uw toepassing in een container opslaan als een Docker-installatiekopie met behulp van Open Liberty-containerinstallatiekopieën of WebSphere Liberty-containerinstallatiekopieën.
De toepassing bouwen en pushen naar de installatiekopieënstroom
Omdat u de app al hebt uitgevoerd in de Liberty Docker-container met behulp van de liberty:devc opdracht, gaat u de installatiekopieën op afstand in het cluster bouwen met behulp van de volgende stappen:
Zorg ervoor dat u zich aanmeldt bij de OpenShift CLI met behulp van de
kubeadminreferenties.Gebruik de volgende opdrachten om de bronmap en Dockerfile te identificeren:
cd ${BASE_DIR}/3-integration/connect-db/mysql # If you are building with the Open Liberty base image, the existing Dockerfile is ready for you # If you are building with the WebSphere Liberty base image, uncomment and execute the following two commands to rename Dockerfile-wlp to Dockerfile # mv Dockerfile Dockerfile.backup # mv Dockerfile-wlp DockerfileGebruik de volgende opdracht om het project te wijzigen in
open-liberty-demo:oc project $NAMESPACEGebruik de volgende opdracht om een afbeeldingsstroom te maken:
oc create imagestream javaee-cafe-mysqlGebruik de volgende opdracht om een buildconfiguratie te maken waarmee de installatiekopieënstroomtag van de build-uitvoer wordt opgegeven:
oc new-build --name javaee-cafe-mysql-config --binary --strategy docker --to javaee-cafe-mysql:v1Gebruik de volgende opdracht om de build te starten om lokale inhoud, containerize en uitvoer te uploaden naar de tag voor de installatiekopieënstroom die eerder is opgegeven:
oc start-build javaee-cafe-mysql-config --from-dir . --follow
Toepassing implementeren in het Azure Red Hat OpenShift-cluster
U kunt nu de voorbeeldtoepassing Liberty implementeren in het Azure Red Hat OpenShift-cluster dat u eerder hebt gemaakt wanneer u aan de vereisten voldoet.
De toepassing implementeren vanuit de webconsole
Omdat we de Open Liberty Operator gebruiken om Liberty-toepassingen te beheren, moeten we een exemplaar van de aangepaste resourcedefinitie maken, van het type OpenLibertyApplication. De operator zorgt voor alle aspecten van het beheren van de OpenShift-resources die nodig zijn voor implementatie. Gebruik de volgende stappen om dit exemplaar te maken:
Meld u aan bij de OpenShift-webconsole vanuit uw browser met behulp van de
kubeadminreferenties.Selecteer het project door naar Home>> te gaan.
Navigeer naar Workloads>Secrets.
Selecteer Creëer>van YAML.
Vervang de gegenereerde YAML door die van u, die zich bevindt op <pad-naar-opslagplaats>/3-integration/connect-db/mysql/target/db-secret.yaml.
Selecteer Maken. Met deze selectie gaat u terug naar de pagina Geheime details.
Navigeer naar operators>die zijn geïnstalleerd.
Midden op de pagina ziet u Open Liberty.
Selecteer OpenLibertyApplication vanuit opgegeven API's. De navigatie van items in de gebruikersinterface weerspiegelt de werkelijke insluitingshiërarchie van gebruikte technologieën.
Selecteer OpenLibertyApplication maken.
Selecteer de YAML-weergave voor Configureren via.
Vervang de gegenereerde yaml door die van u, die zich bevindt in <path-to-repo>/3-integration/connect-db/mysql/target/openlibertyapplication.yaml.
Selecteer Maken. U keert terug naar de lijst met OpenLibertyApplications.
Navigeer naar >
Selecteer javaee-café-mysql.
Selecteer Resources in het midden van de pagina.
Selecteer in de tabel de koppeling voor javaee-café-mysql met het soortroute.
Selecteer op de pagina die wordt geopend de koppeling onder Locatie.
De startpagina van de toepassing wordt geopend in de browser.
De toepassing verwijderen uit de webconsole
Wanneer u klaar bent met de toepassing, gebruikt u de volgende stappen om de toepassing te verwijderen uit Open Shift:
- Vouw in het linkernavigatiedeelvenster de vermelding voor Operators uit.
- Selecteer Geïnstalleerde operators.
- Selecteer Vrijheid openen.
- Selecteer OpenLibertyApplication in het midden van de pagina.
- Voor javaee-café-mysql selecteert u het verticale beletselteken (drie verticale puntjes) en selecteert u Vervolgens OpenLibertyApplication verwijderen.
- Selecteer Verwijderen om de toepassing te verwijderen.
Gebruik de volgende stappen om het geheim te verwijderen uit Open Shift:
- Navigeer naar Workloads>Secrets.
- Selecteer db-secret-mysql.
- Selecteer Acties>verwijderen geheim.
- Selecteer Verwijderen om het geheim te verwijderen.
Resources opschonen
Verwijder het Azure Red Hat OpenShift-cluster door de stappen in zelfstudie te volgen: Een Azure Red Hat OpenShift 4-cluster verwijderen. Zorg ervoor dat de database en eventuele bijbehorende resources ook worden verwijderd.
Volgende stappen
In deze handleiding vindt u meer informatie over verwijzingen die worden gebruikt:
- Open Liberty
- Azure Red Hat OpenShift
- Open Liberty Operator
- Open Liberty Server-configuratie
- Liberty Maven Plugin
- Open Liberty Container Images
- WebSphere Liberty-containerinstallatiekopieën
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?