Een Java-toepassing implementeren met Red Hat JBoss Enterprise Application Platform (JBoss EAP) op een Azure Red Hat OpenShift 4-cluster

In dit artikel leest u hoe u een Red Hat JBoss Enterprise Application Platform-app (JBoss EAP) implementeert in een Azure Red Hat OpenShift 4-cluster. Het voorbeeld is een Java-toepassing die wordt ondersteund door een SQL-database. De app wordt geïmplementeerd met JBoss EAP Helm Charts.

De handleiding neemt een Java-toepassing en begeleidt u bij het migreren ervan naar een containerorchestrator zoals Azure Red Hat OpenShift. Eerst wordt beschreven hoe u uw toepassing kunt verpakken als opstartbare JAR om deze lokaal uit te voeren. Ten slotte ziet u hoe u kunt implementeren op OpenShift met drie replica's van de JBoss EAP-toepassing met behulp van Helm Charts.

Dit artikel bevat stapsgewijze instructies voor het uitvoeren van een JBoss EAP-app in een Azure Red Hat OpenShift 4-cluster. Zie Quickstart: JBoss EAP implementeren in Azure Red Hat OpenShift 4 met behulp van Azure Portal voor een meer geautomatiseerde oplossing die uw reis naar een Azure Red Hat OpenShift-cluster versnelt.

Het voorbeeld is een stateful toepassing die informatie opslaat in een HTTP-sessie. Het maakt gebruik van de JBoss EAP-clusteringmogelijkheden en maakt gebruik van de volgende Jakarta EE- en MicroProfile-technologieën:

  • Jakarta Server Faces
  • Jakarta Enterprise Beans
  • Jakarta Persistence
  • MicroProfile Health

Belangrijk

In dit artikel wordt een toepassing geïmplementeerd met behulp van JBoss EAP Helm Charts. Op het moment van schrijven wordt deze functie nog steeds aangeboden als technologiepreview. Voordat u ervoor kiest om toepassingen te implementeren met JBoss EAP Helm Charts in productieomgevingen, moet u ervoor zorgen dat deze functie een ondersteunde functie is voor uw JBoss EAP/XP-productversie.

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 de ondersteuning van Azure Red Hat OpenShift. Zie de hoofdpagina's voor die software zoals vermeld in het artikel voor meer informatie over de ondersteuning van de software die in dit artikel wordt beschreven.

Vereisten

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.

  1. Bereid een lokale computer voor met een Unix-achtig besturingssysteem dat wordt ondersteund door de verschillende geïnstalleerde producten, zoals Ubuntu, macOS of Windows-subsysteem voor Linux.

  2. Installeer een Java SE-implementatie. De lokale ontwikkelingsstappen in dit artikel zijn getest met JDK 17 uit de Microsoft-build van OpenJDK.

  3. Installeer Maven 3.8.6 of hoger.

  4. Installeer Azure CLI 2.40 of hoger.

  5. Kloon de code voor deze demotoepassing (todo-list) naar uw lokale systeem. De demotoepassing bevindt zich op GitHub.

  6. 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 installatiekopieën van de JBoss EAP-toepassing 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. Zie voor meer informatie:

  7. Verbinding maken naar het cluster door de stappen in Verbinding maken te volgen in een Azure Red Hat OpenShift 4-cluster.

    • Volg de stappen in OpenShift CLI installeren
    • Verbinding maken naar een Azure Red Hat OpenShift-cluster met behulp van de OpenShift CLI met de gebruikerkubeadmin
  8. Voer de volgende opdracht uit om het OpenShift-project voor deze demotoepassing te maken:

    oc new-project eap-demo
    
  9. Voer de volgende opdracht uit om de weergaverol toe te voegen aan het standaardserviceaccount. Deze rol is nodig, zodat de toepassing andere pods kan detecteren en er een cluster mee kan vormen:

    oc policy add-role-to-user view system:serviceaccount:$(oc project -q):default -n $(oc project -q)
    

De toepassing voorbereiden

Kloon de voorbeeldtoepassing met behulp van de volgende opdracht:

git clone https://github.com/Azure-Samples/jboss-on-aro-jakartaee

U hebt de Todo-list demotoepassing gekloond en uw lokale opslagplaats bevindt zich in de main vertakking. De demotoepassing is een eenvoudige Java-app waarmee records in Azure SQL worden gemaakt, gelezen, bijgewerkt en verwijderd. U kunt deze toepassing implementeren zoals deze zich op een JBoss EAP-server bevindt die op uw lokale computer is geïnstalleerd. U hoeft alleen de server te configureren met het vereiste databasestuurprogramma en de gegevensbron. U hebt ook een databaseserver nodig die toegankelijk is vanuit uw lokale omgeving.

Als u echter op OpenShift richt, wilt u mogelijk de mogelijkheden van uw JBoss EAP-server bijsnijden. U kunt bijvoorbeeld de beveiligingsblootstelling van de ingerichte server verminderen en de totale footprint verminderen. Mogelijk wilt u ook enkele MicroProfile-specificaties opnemen om uw toepassing geschikter te maken voor uitvoering in een OpenShift-omgeving. Wanneer u JBoss EAP gebruikt, kunt u deze taak op één manier uitvoeren door uw toepassing en uw server in één implementatie-eenheid te verpakken, ook wel opstartbare JAR genoemd. Laten we dat doen door de vereiste wijzigingen toe te voegen aan onze demotoepassing.

Navigeer naar de lokale opslagplaats van uw demotoepassing en wijzig de vertakking in bootable-jar:

## cd jboss-on-aro-jakartaee
git checkout bootable-jar

Laten we eens kijken wat we in deze vertakking hebben gewijzigd:

  • We hebben de wildfly-jar-maven invoegtoepassing toegevoegd om de server en de toepassing in te richten in één uitvoerbaar JAR-bestand. De OpenShift-implementatie-eenheid is onze server met onze toepassing.
  • In de Maven-invoegtoepassing hebben we een set Galleon-lagen opgegeven. Met deze configuratie kunnen we de servermogelijkheden bijsnijden tot alleen wat we nodig hebben. Zie de WildFly-documentatie voor volledige documentatie over Galleon.
  • Onze toepassing maakt gebruik van Jakarta Faces met Ajax-aanvragen, wat betekent dat er informatie is opgeslagen in de HTTP-sessie. We willen dergelijke informatie niet verliezen als een pod wordt verwijderd. We kunnen deze informatie opslaan op de client en deze terugsturen op elke aanvraag. Er zijn echter gevallen waarin u kunt besluiten om bepaalde informatie niet naar de clients te distribueren. Voor deze demo hebben we ervoor gekozen om de sessie over alle podreplica's te repliceren. Om dit te doen, hebben we toegevoegd <distributable /> aan de web.xml. Dat maakt de HTTP-sessie te distribueren over alle pods, samen met de mogelijkheden voor serverclustering.
  • We hebben twee MicroProfile Health Checks toegevoegd waarmee u kunt identificeren wanneer de toepassing live is en klaar is voor het ontvangen van aanvragen.

De toepassing lokaal uitvoeren

Voordat u de toepassing implementeert in OpenShift, gaan we deze lokaal uitvoeren om te controleren hoe deze werkt. In de volgende stappen wordt ervan uitgegaan dat Azure SQL wordt uitgevoerd en beschikbaar is vanuit uw lokale omgeving.

Als u de database wilt maken, volgt u de stappen in de quickstart: Een individuele Azure SQL Database-database maken, maar gebruik de volgende vervangingen.

  • Voor de resourcegroep gebruikt u de resourcegroep die u eerder hebt gemaakt.
  • Gebruik voor databasenaamtodos_db.
  • Gebruik voor aanmeldgegevensazureuservan de serverbeheerder.
  • Voor wachtwoordgebruikPassw0rd!.
  • Schakel in de sectie Firewallregels de optie Azure-services en -resources toegang tot deze server in op Ja.

Alle andere instellingen kunnen veilig worden gebruikt vanuit het gekoppelde artikel.

Op de pagina Aanvullende instellingen hoeft u niet de optie te kiezen om de database vooraf in te vullen met voorbeeldgegevens, maar dit kan geen kwaad.

Nadat de database is gemaakt met de bovenstaande databasenaam, aanmelding van serverbeheerder en wachtwoord, haalt u de waarde op voor de servernaam op de overzichtspagina voor de zojuist gemaakte databaseresource in de portal. Beweeg de muisaanwijzer over de waarde van het veld Servernaam en selecteer het kopieerpictogram dat naast de waarde wordt weergegeven. Sla deze waarde op voor later gebruik (we stellen een variabele in met de naam MSSQLSERVER_HOST deze waarde).

Notitie

Om de financiële kosten laag te houden, wordt de lezer door de quickstart om de serverloze rekenlaag te selecteren. Deze laag wordt geschaald naar nul wanneer er geen activiteit is. Wanneer dit gebeurt, reageert de database niet onmiddellijk. Als u op enig moment bij het uitvoeren van de stappen in dit artikel databaseproblemen ziet, kunt u overwegen om automatisch onderbreken uit te schakelen. Als u wilt weten hoe, zoekt u naar automatisch onderbreken in Azure SQL Database zonder server. Op het moment van schrijven schakelt de volgende AZ CLI-opdracht automatisch onderbreken uit voor de database die in dit artikel is geconfigureerd. az sql db update --resource-group $RESOURCEGROUP --server <Server name, without the .database.windows.net part> --name todos_db --auto-pause-delay -1

Volg de volgende stappen om de toepassing lokaal te bouwen en uit te voeren.

  1. Bouw de opstartbare JAR. Omdat we de eap-datasources-galleon-pack database met MS SQL Server gebruiken, moeten we de versie van het databasestuurprogramma opgeven die we willen gebruiken met deze specifieke omgevingsvariabele. Zie de documentatie van Red Hat voor meer informatie over de eap-datasources-galleon-pack en MS SQL Server

    export MSSQLSERVER_DRIVER_VERSION=7.4.1.jre11
    mvn clean package
    
  2. Start het opstartbare JAR-bestand met behulp van de volgende opdrachten.

    U moet ervoor zorgen dat de Azure SQL-database netwerkverkeer toestaat van de host waarop deze server wordt uitgevoerd. Omdat u huidig client-IP-adres hebt geselecteerd bij het uitvoeren van de stappen in quickstart: Maak een individuele Azure SQL Database-database als de host waarop de server wordt uitgevoerd dezelfde host is waaruit uw browser verbinding maakt met Azure Portal, moet het netwerkverkeer zijn toegestaan. Als de host waarop de server wordt uitgevoerd een andere host is, raadpleegt u Azure Portal gebruiken om IP-firewallregels op serverniveau te beheren.

    Wanneer we de toepassing starten, moeten we de vereiste omgevingsvariabelen doorgeven om de gegevensbron te configureren:

    export MSSQLSERVER_USER=azureuser
    export MSSQLSERVER_PASSWORD='Passw0rd!'
    export MSSQLSERVER_JNDI=java:/comp/env/jdbc/mssqlds
    export MSSQLSERVER_DATABASE=todos_db
    export MSSQLSERVER_HOST=<server name saved aside earlier>
    export MSSQLSERVER_PORT=1433
    mvn wildfly-jar:run
    

    Als u meer wilt weten over de onderliggende runtime die door deze demo wordt gebruikt, bevat het Galleon Feature Pack voor het integreren van gegevensbronnen een volledige lijst met beschikbare omgevingsvariabelen. Zie de WildFly-documentatie voor meer informatie over het concept van feature-pack.

    Als er een foutbericht wordt weergegeven met tekst die vergelijkbaar is met het volgende voorbeeld:

    Cannot open server '<your prefix>mysqlserver' requested by the login. Client with IP address 'XXX.XXX.XXX.XXX' is not allowed to access the server.
    

    Dit bericht geeft aan dat uw stappen om ervoor te zorgen dat het netwerkverkeer is toegestaan, niet werkt. Zorg ervoor dat het IP-adres uit het foutbericht is opgenomen in de firewallregels.

    Als u een bericht met tekst ontvangt die vergelijkbaar is met het volgende voorbeeld:

    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: There is already an object named 'TODOS' in the database.
    

    Dit bericht geeft aan dat de voorbeeldgegevens zich al in de database bevinden. U kunt dit bericht negeren.

  3. (Optioneel) Als u de clustermogelijkheden wilt controleren, kunt u ook meer exemplaren van dezelfde toepassing starten door het argument opstartbare JAR jboss.node.name door te geven en conflicten met de poortnummers te voorkomen door de poortnummers te verplaatsen met behulp van jboss.socket.binding.port-offset. Als u bijvoorbeeld een tweede exemplaar wilt starten dat een nieuwe pod op OpenShift vertegenwoordigt, kunt u de volgende opdracht uitvoeren in een nieuw terminalvenster:

    export MSSQLSERVER_USER=azureuser
    export MSSQLSERVER_PASSWORD='Passw0rd!'
    export MSSQLSERVER_JNDI=java:/comp/env/jdbc/mssqlds
    export MSSQLSERVER_DATABASE=todos_db
    export MSSQLSERVER_HOST=<server name saved aside earlier>
    export MSSQLSERVER_PORT=1433
    mvn wildfly-jar:run -Dwildfly.bootable.arguments="-Djboss.node.name=node2 -Djboss.socket.binding.port-offset=1000"
    

    Als uw cluster werkt, ziet u in het serverconsolelogboek een tracering die vergelijkbaar is met de volgende:

    INFO  [org.infinispan.CLUSTER] (thread-6,ejb,node) ISPN000094: Received new cluster view for channel ejb
    

    Notitie

    Standaard configureert het Opstartbare JAR het JGroups-subsysteem voor het gebruik van het UDP-protocol en verzendt berichten om andere clusterleden te detecteren naar het multicastadres 230.0.0.4. Als u de clustermogelijkheden op uw lokale computer goed wilt controleren, moet uw besturingssysteem multicast-datagrammen kunnen verzenden en ontvangen en deze routeren naar het IP-adres van 230.0.0.4 via uw ethernetinterface. Als u waarschuwingen ziet met betrekking tot het cluster in de serverlogboeken, controleert u de netwerkconfiguratie en controleert u of multicast op dat adres wordt ondersteund.

  4. Open http://localhost:8080/ in uw browser om naar de startpagina van de toepassing te gaan. Als u meer exemplaren hebt gemaakt, kunt u deze openen door bijvoorbeeld http://localhost:9080/het poortnummer te verplaatsen. De toepassing moet er ongeveer uitzien als in de volgende afbeelding:

    Schermopname van de ToDo EAP-demotoepassing.

  5. Controleer de liveness- en gereedheidstests voor de toepassing. OpenShift gebruikt deze eindpunten om te controleren wanneer uw pod live is en gereed is voor het ontvangen van gebruikersaanvragen.

    Voer de volgende opdracht uit om de status van de liveness te controleren:

    curl http://localhost:9990/health/live
    

    De uitvoer moet er ongeveer als volgt uitzien:

    {"status":"UP","checks":[{"name":"SuccessfulCheck","status":"UP"}]}
    

    Voer de volgende opdracht uit om de status van gereedheid te controleren:

    curl http://localhost:9990/health/ready
    

    De uitvoer moet er ongeveer als volgt uitzien:

     {"status":"UP","checks":[{"name":"deployments-status","status":"UP","data":{"todo-list.war":"OK"}},{"name":"server-state","status":"UP","data":{"value":"running"}},{"name":"boot-errors","status":"UP"},{"name":"DBConnectionHealthCheck","status":"UP"}]}
    
  6. Druk op Control-C om de toepassing te stoppen.

Implementeren naar OpenShift

Voor het implementeren van de toepassing gebruiken we de JBoss EAP Helm Charts die al beschikbaar zijn in Azure Red Hat OpenShift. We moeten ook de gewenste configuratie opgeven, bijvoorbeeld de databasegebruiker, het databasewachtwoord, de stuurprogrammaversie die we willen gebruiken en de verbindingsgegevens die door de gegevensbron worden gebruikt. In de volgende stappen wordt ervan uitgegaan dat Azure SQL wordt uitgevoerd en toegankelijk is vanuit uw OpenShift-cluster en dat u de gebruikersnaam, het wachtwoord, de hostnaam, de poort en de databasenaam van de database hebt opgeslagen in een OpenShift OpenShift Secret-object met de naam mssqlserver-secret.

Navigeer naar de lokale opslagplaats van uw demotoepassing en wijzig de huidige vertakking in bootable-jar-openshift:

git checkout bootable-jar-openshift

Laten we eens kijken wat we in deze vertakking hebben gewijzigd:

  • Er is een nieuw Maven-profiel toegevoegd met de naam bootable-jar-openshift waarmee de opstartbare JAR wordt voorbereid met een specifieke configuratie voor het uitvoeren van de server in de cloud. Hiermee kan het JGroups-subsysteem bijvoorbeeld TCP-aanvragen gebruiken om andere pods te detecteren met behulp van het KUBE_PING-protocol.
  • We hebben een set configuratiebestanden toegevoegd in de map jboss-on-aro-jakartaee/deployment . In deze map vindt u de configuratiebestanden om de toepassing te implementeren.

De toepassing implementeren in OpenShift

In de volgende stappen wordt uitgelegd hoe u de toepassing met een Helm-grafiek kunt implementeren met behulp van de OpenShift-webconsole. Vermijd harde codering van gevoelige waarden in uw Helm-grafiek met behulp van een functie met de naam 'geheimen'. Een geheim is gewoon een verzameling van naam=waardeparen, waarbij de waarden op een bepaalde bekende plaats worden opgegeven voordat ze nodig zijn. In ons geval gebruikt de Helm-grafiek twee geheimen, met de volgende naam=waardeparen van elk.

  • mssqlserver-secret

    • db-host geeft de waarde van MSSQLSERVER_HOST.
    • db-name geeft de waarde van MSSQLSERVER_DATABASE
    • db-password geeft de waarde van MSSQLSERVER_PASSWORD
    • db-port geeft de waarde van MSSQLSERVER_PORT.
    • db-user geeft de waarde van MSSQLSERVER_USER.
  • todo-list-secret

    • app-cluster-password brengt een willekeurig, door de gebruiker opgegeven wachtwoord over, zodat clusterknooppunten veiliger kunnen vormen.
    • app-driver-version geeft de waarde van MSSQLSERVER_DRIVER_VERSION.
    • app-ds-jndi geeft de waarde van MSSQLSERVER_JNDI.
  1. mssqlserver-secret maken.

    oc create secret generic mssqlserver-secret \
        --from-literal db-host=${MSSQLSERVER_HOST} \
        --from-literal db-name=${MSSQLSERVER_DATABASE} \
        --from-literal db-password=${MSSQLSERVER_PASSWORD} \
        --from-literal db-port=${MSSQLSERVER_PORT} \
        --from-literal db-user=${MSSQLSERVER_USER}
    
  2. todo-list-secret maken.

    export MSSQLSERVER_DRIVER_VERSION=7.4.1.jre11
    oc create secret generic todo-list-secret \
        --from-literal app-cluster-password=mut2UTG6gDwNDcVW \
        --from-literal app-driver-version=${MSSQLSERVER_DRIVER_VERSION} \
        --from-literal app-ds-jndi=${MSSQLSERVER_JNDI}
    
  3. Open de OpenShift-console en navigeer naar de ontwikkelaarsweergave. U kunt de console-URL voor uw OpenShift-cluster detecteren door deze opdracht uit te voeren. Meld u aan met de gebruikers-id en het kubeadmin wachtwoord dat u hebt verkregen uit een vorige stap.

    az aro show \
        --name $CLUSTER \
        --resource-group $RESOURCEGROUP \
        --query "consoleProfile.url" \
        --output tsv
    

    Selecteer het <perspectief /> Ontwikkelaar in de vervolgkeuzelijst boven aan het navigatiedeelvenster.

    Schermopname van de ontwikkelaarsweergave van de OpenShift-console.

  4. Selecteer in het <perspectief/> Ontwikkelaar het eap-demoproject in de vervolgkeuzelijst Project .

    Schermopname van de keuzelijst met invoervak van het OpenShift-consoleproject.

  5. Selecteer +Toevoegen. Selecteer Helm-grafiek in de sectie Ontwikkelaarscatalogus. U komt aan bij de Helm-grafiekcatalogus die beschikbaar is in uw Azure Red Hat OpenShift-cluster. Typ eap in het vak Filteren op trefwoord. U ziet nu verschillende opties, zoals hier wordt weergegeven:

    Schermopname van OpenShift-console EAP Helm-grafieken.

    Omdat onze toepassing gebruikmaakt van MicroProfile-mogelijkheden, selecteren we de Helm-grafiek voor EAP Xp. De Xp staat voor Expansion Pack. Met het JBoss Enterprise Application Platform-uitbreidingspakket kunnen ontwikkelaars Eclipse MicroProfile application programming interfaces (API's) gebruiken om op microservices gebaseerde toepassingen te bouwen en implementeren.

  6. Selecteer de JBoss EAP XP 4 Helm-grafiek en selecteer Vervolgens Helm-grafiek installeren.

Op dit moment moeten we de grafiek configureren om de toepassing te bouwen en te implementeren:

  1. Wijzig de naam van de release in eap-todo-list-demo.

  2. We kunnen de Helm-grafiek configureren met behulp van een formulierweergave of een YAML-weergave. Selecteer YAML-weergave in de sectie configureren via.

  3. Wijzig de YAML-inhoud om de Helm-grafiek te configureren door de inhoud van het Helm-grafiekbestand te kopiëren en plakken dat beschikbaar is bij deployment/application/todo-list-helm-chart.yaml in plaats van de bestaande inhoud:

    YAML-inhoud voor OpenShift-console EAP Helm Chart

    Met deze inhoud worden verwijzingen gemaakt naar de geheimen die u eerder hebt ingesteld.

  4. Selecteer Ten slotte Installeren om de implementatie van de toepassing te starten. Met deze actie wordt de topologieweergave geopend met een grafische weergave van de Helm-release (met de naam eap-todo-list-demo) en de bijbehorende resources.

    Schermopname van openshift-consoletopologie.

    De Helm Release (afgekort HR) heet eap-todo-list-demo. Het bevat een implementatieresource (afgekort D) met de naam eap-todo-list-demo.

    Als u het pictogram met twee pijlen in een cirkel linksonder in het vak D selecteert, gaat u naar het deelvenster Logboeken . Hier kunt u de voortgang van de build bekijken. Als u wilt terugkeren naar de topologieweergave, selecteert u Topologie in het linkernavigatiedeelvenster.

  5. Wanneer de build is voltooid, wordt in het pictogram linksonder een groen vinkje weergegeven

  6. Wanneer de implementatie is voltooid, is de cirkelcontour donkerblauw. Als u de muisaanwijzer over het donkerblauw beweegt, ziet u dat er een bericht wordt weergegeven waarin iets lijkt op 3 Running. Wanneer u dat bericht ziet, kunt u naar de URL van de toepassing gaan (met behulp van het pictogram rechtsboven) van de route die is gekoppeld aan de implementatie.

    Schermopname van de open toepassing van de OpenShift-console.

  7. De toepassing wordt geopend in uw browser die lijkt op de volgende afbeelding die klaar is om te worden gebruikt:

    Schermopname van de OpenShift-toepassing die wordt uitgevoerd.

  8. In de toepassing ziet u de naam van de pod die de informatie dient. Als u de clustermogelijkheden wilt controleren, kunt u enkele Todos toevoegen. Verwijder vervolgens de pod met de naam die wordt aangegeven in het veld Hostnaam van de server die wordt weergegeven in de toepassing met behulp van oc delete pod <pod-name>, en nadat deze is verwijderd, maakt u een nieuwe todo in hetzelfde toepassingsvenster. U kunt zien dat de nieuwe todo wordt toegevoegd via een Ajax-aanvraag en het veld Serverhostnaam nu een andere naam bevat. Achter de schermen heeft de OpenShift-load balancer de nieuwe aanvraag verzonden en geleverd aan een beschikbare pod. De weergave Jakarta Faces wordt hersteld vanuit de HTTP-sessiekopie die is opgeslagen in de pod die de aanvraag verwerkt. U kunt inderdaad zien dat het veld Sessie-id niet is gewijzigd. Als de sessie niet wordt gerepliceerd in uw pods, krijgt u een Jakarta Faces ViewExpiredExceptionen werkt uw toepassing niet zoals verwacht.

Resources opschonen

De toepassing verwijderen

Als u uw toepassing alleen wilt verwijderen, kunt u de OpenShift-console openen en in de ontwikkelaarsweergave naar de menuoptie Helm navigeren. In dit menu ziet u alle Helm-grafiekreleases die op uw cluster zijn geïnstalleerd.

OpenShift-verwijdertoepassing

Zoek de helmgrafiek eap-todo-list-demo en selecteer aan het einde van de rij de verticale puntjes van de boomstructuur om de contextuele menuvermelding van de actie te openen.

Selecteer Helm Release verwijderen om de toepassing te verwijderen. U ziet dat het geheime object dat wordt gebruikt voor het opgeven van de toepassingsconfiguratie geen deel uitmaakt van de grafiek. U moet deze afzonderlijk verwijderen als u deze niet meer nodig hebt.

Voer de volgende opdracht uit als u het geheim wilt verwijderen dat de toepassingsconfiguratie bevat:

$ oc delete secrets/todo-list-secret
# secret "todo-list-secret" deleted

Het OpenShift-project verwijderen

U kunt ook alle configuratie verwijderen die voor deze demo is gemaakt door het eap-demo project te verwijderen. Voer hiervoor de volgende opdracht uit:

$ oc delete project eap-demo
# project.project.openshift.io "eap-demo" deleted

Het Azure Red Hat OpenShift-cluster verwijderen

Verwijder het Azure Red Hat OpenShift-cluster door de stappen in zelfstudie te volgen: Een Azure Red Hat OpenShift 4-cluster verwijderen.

De resourcegroep verwijderen

Als u alle resources wilt verwijderen die in de voorgaande stappen zijn gemaakt, verwijdert u de resourcegroep die u hebt gemaakt voor het Azure Red Hat OpenShift-cluster.

Volgende stappen

In deze handleiding hebt u het volgende geleerd:

  • Bereid een JBoss EAP-toepassing voor op OpenShift.
  • Voer deze lokaal uit samen met een in een container geplaatste Microsoft SQL Server.
  • Implementeer een Microsoft SQL Server op een Azure Red Hat OpenShift 4 met behulp van de OpenShift CLI.
  • Implementeer de toepassing op een Azure Red Hat OpenShift 4 met behulp van JBoss Helm Charts en OpenShift Web Console.

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