Delen via


Een Java-toepassing handmatig implementeren met Open Liberty/WebSphere Liberty in een Azure Red Hat OpenShift-cluster

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 met behulp van de Azure Marketplace-aanbieding voor een meer geautomatiseerde oplossing die uw reis naar een Azure Red Hat OpenShift-cluster 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

Voltooi de volgende vereisten om deze handleiding te gebruiken:

  1. Bereid een lokale computer voor waarop unix-achtig besturingssysteem is geïnstalleerd (bijvoorbeeld Ubuntu, macOS of Windows-subsysteem voor Linux).

  2. Installeer een Java Standard Edition(SE)-implementatie, versie 17 of hoger (bijvoorbeeld Eclipse Open J9).

  3. Installeer Maven 3.5.0 of hoger.

  4. Installeer Docker voor uw besturingssysteem.

  5. Installeer Azure CLI 2.0.75 of hoger.

  6. Installeer envsubst indien nodig.

  7. Kloon de code voor dit voorbeeld op uw lokale systeem. Het voorbeeld bevindt zich op GitHub.

  8. Volg de instructies in Een Azure Red Hat OpenShift 4-cluster maken.

    Hoewel de stap Get a Red Hat pull secret is gelabeld als optioneel, is dit vereist voor dit artikel. Met het pull-geheim kan uw Azure Red Hat OpenShift-cluster de Open Liberty Operator vinden.

    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-size parameter. Is bijvoorbeeld Standard_E4s_v3 de minimale grootte van de virtuele machine om de Elasticsearch-operator op een cluster te installeren. Zie voor meer informatie:

  9. Maak verbinding met het cluster door de stappen in Verbinding maken met een Azure Red Hat OpenShift 4-cluster te volgen.

    • Volg de stappen in OpenShift CLI installeren, omdat we de oc opdracht verderop in dit artikel gebruiken.
    • Sla de URL van de clusterconsole op. Het moet er als https://console-openshift-console.apps.<random>.<region>.aroapp.io/volgt uitzien.
    • Noteer de kubeadmin referenties.
    • Volg de stappen in Verbinding maken met behulp van de OpenShift CLI met de kubeadmin referenties.

Open Liberty OpenShift 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.

  1. Meld u aan bij de OpenShift-webconsole vanuit uw browser met behulp van de kubeadmin referenties.

  2. Navigeer naar Operators>OperatorHub en zoek naar Open Liberty.

  3. Selecteer Open Liberty in de zoekresultaten.

  4. Selecteer Installeren.

  5. Controleer op de pagina Installatieoperator v1.3 voor updatekanaal, alle naamruimten op het cluster (standaard) voor de installatiemodus en automatisch voor goedkeuring van de update:

    Schermopname van het maken van operatorabonnement voor Open Liberty Operator.

  6. Selecteer Installeren en wacht een paar minuten totdat de installatie is voltooid.

  7. 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.

    Geïnstalleerde operators waarop Open Liberty wordt weergegeven, is geïnstalleerd.

Een OpenShift-naamruimte maken voor de Java-app

Gebruik de volgende stappen om een OpenShift-naamruimte te maken voor gebruik met uw app:

  1. Zorg ervoor dat u bent aangemeld bij de OpenShift-webconsole vanuit uw browser met behulp van de kubeadmin referenties.

  2. Navigeer naar Beheernaamruimten>>maken naamruimte.

  3. Vul de naam in open-liberty-demo en selecteer Maken, zoals hierna wordt weergegeven.

    Schermopname van het maken van een naamruimte.

Een Azure Database for MySQL maken

Gebruik de volgende stappen om een Azure Database for MySQL in te stellen voor gebruik met uw app:

  1. Maak een flexibele Azure Database for MySQL-server door de stappen te volgen in: Quickstart: Azure Portal gebruiken om een Azure Database for MySQL - Flexible Server te maken. U kunt de database implementeren in dezelfde resourcegroep als het OpenShift-cluster. Ga terug naar dit document nadat u de database hebt gemaakt.

    Notitie

    Sla in de stap Basisinformatie de servernaam.mysql.database.azure.com, gebruikersnaam van beheerder en wachtwoord op.

  2. Nadat de database is gemaakt, opent u uw databaseinstellingennetwerk>> en voert u de volgende stappen uit:

    1. Zorg er onder Openbare toegang voor dat openbare toegang tot deze resource via internet met behulp van een openbaar IP-adres is geselecteerd.
    2. Selecteer Openbare toegang toestaan vanuit een Azure-service binnen Azure naar deze server.
    3. Zorg ervoor dat het IPv4-adres van uw client zich in de acceptatielijst van firewallregels bevindt.
    4. Sla uw wijzigingen op.

    Schermopname van het configureren van mysql-databasenetwerken.

  3. Open de database-instellingendatabases>>> Selecteer Toevoegen. Vul een waarde in voor Naam en selecteer Opslaan om een nieuwe database te maken. Deze database heeft het type Schema als Gebruiker en wordt later gebruikt voor de toepassing.

    Notitie

    Sla de naam op voor de database die u hebt gemaakt.

De Liberty-toepassing voorbereiden

We gebruiken een Java EE 8-toepassing als voorbeeld in deze handleiding. Open Liberty is een volledig profiel dat compatibel is met Java EE 8, zodat de toepassing eenvoudig kan worden uitgevoerd. Open Liberty is ook Jakarta EE 8 volledig profiel compatibel.

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 Een webtoepassing bouwen met Maven voor meer informatie over de liberty-maven-pluginwebtoepassing.

Volg de stappen in deze sectie om de voorbeeldtoepassing voor te bereiden voor later gebruik in dit artikel. Deze stappen maken gebruik van Maven en de liberty-maven-plugin.

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

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.

Project bouwen

Nu u de benodigde eigenschappen hebt verzameld, gebruikt u de volgende opdrachten om de toepassing te bouwen. Het POM-bestand voor het project leest veel eigenschappen uit de omgeving.

cd <path-to-your-repo>/open-liberty-on-aro/3-integration/connect-db/mysql

# The following variables are used for deployment file generation
export DB_SERVER_NAME=<Server name>.mysql.database.azure.com
export DB_PORT_NUMBER=3306
export DB_NAME=<Database name>
export DB_USER=<Server admin username>
export DB_PASSWORD=<Server admin password>
export NAMESPACE=open-liberty-demo

mvn clean install

Uw toepassing lokaal testen

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 documentatie van de Liberty Plugin voor meer informatieliberty:devc.

  1. Start indien nodig uw lokale Docker-omgeving. De instructies hiervoor variëren afhankelijk van het hostbesturingssysteem.

  2. Gebruik de volgende opdrachten om de toepassing in liberty:devc de modus te starten:

    cd <path-to-your-repo>/open-liberty-on-aro/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-wlp
    
  3. 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 naar https://localhost:9443/ uw browser en controleer of de toepassing toegankelijk is en of alle functies werken.

  4. Druk op Control+C om de modus te stoppen.liberty:devc

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:

  1. Zorg ervoor dat u zich aanmeldt bij de OpenShift CLI met behulp van de kubeadmin referenties.

  2. Gebruik de volgende opdrachten om de bronmap en Dockerfile te identificeren:

    cd <path-to-your-repo>/open-liberty-on-aro/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 Dockerfile
    
  3. Gebruik de volgende opdracht om project te wijzigen in open-liberty-demo:

    oc project open-liberty-demo
    
  4. Gebruik de volgende opdracht om een afbeeldingsstroom te maken:

    oc create imagestream javaee-cafe-mysql
    
  5. Gebruik 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:v1
    
  6. Gebruik 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 van het type OpenLibertyApplicationmaken. 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:

  1. Meld u aan bij de OpenShift-webconsole vanuit uw browser met behulp van de kubeadmin referenties.

  2. Vouw Start uit, Selecteer Projecten>open-liberty-demo.

  3. Navigeer naar operators>die zijn geïnstalleerd.

  4. Midden op de pagina ziet u Open Liberty.

  5. Selecteer OpenLibertyApplication vanuit opgegeven API's. De navigatie van items in de gebruikersinterface weerspiegelt de werkelijke insluitingshiërarchie van gebruikte technologieën.

    Diagram van Azure Red Hat OpenShift Java Containment.

  6. Selecteer OpenLibertyApplication maken.

  7. Selecteer de YAML-weergave voor Configureren via.

  8. Vervang de gegenereerde yaml door die van u, die zich bevindt in <path-to-repo>/3-integration/connect-db/mysql/target/openlibertyapplication.yaml.

  9. Selecteer Maken. U keert terug naar de lijst met OpenLibertyApplications.

  10. Navigeer naar Workloads>Secrets.

  11. Selecteer Maken> vanuit YAML.

  12. Vervang de gegenereerde yaml door die van u, die zich bevindt in <path-to-repo>/3-integration/connect-db/mysql/target/db-secret.yaml.

  13. Selecteer Maken. U keert terug naar de pagina Geheime details.

  14. Navigeer naar Operators Installed Operators>>Open Liberty>OpenLibertyApplication.

  15. Selecteer javaee-café-mysql.

  16. Selecteer Resources in het midden van de pagina.

  17. Selecteer in de tabel de koppeling voor javaee-café-mysql met het soortroute.

  18. 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:

  1. Vouw in het linkernavigatiedeelvenster de vermelding voor Operators uit.
  2. Selecteer Geïnstalleerde operators.
  3. Selecteer Vrijheid openen.
  4. Selecteer OpenLibertyApplication in het midden van de pagina.
  5. Voor javaee-café-mysql selecteert u het verticale beletselteken (drie verticale puntjes) en selecteert u Vervolgens OpenLibertyApplication verwijderen.
  6. Selecteer Verwijderen om de toepassing te verwijderen.

Gebruik de volgende stappen om het geheim te verwijderen uit Open Shift:

  1. Navigeer naar Workloads>Secrets.
  2. Selecteer db-secret-mysql.
  3. Selecteer Acties>verwijderen geheim.
  4. 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:

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?